Search code examples
sassas-macro

Variable has never been referenced [SAS]


I have a dataset containing information by an account number. I'm trying to add a new variable, called product_type, populated with the same value for every record. It is within a SAS macro.

data CC_database;
     set cc_base_v2 (keep=accnum date product_type);
     product_type="CC";
     where date>=%sysevalf("&start_date."d) and file_date<=%sysevalf("&end_date."d);
run;

However, I keep getting the error "The variable product_type has in the DROP, KEEP, or RENAME list has never been referenced" and the output dataset only shows a blank column called product_type. What is happening here?


Solution

  • You are using the KEEP= dataset option on the input dataset. So the error is saying PRODUCT_TYPE does not exist in the dataset CC_BASE_V2.

    If you want to control what variables are written by the data step just use a KEEP statement.

    keep accnum date product_type;
    

    In your case you could use the KEEP= dataset option but only list the variables taht are coming from CC_BASE_V2.

    data CC_database;
      set cc_base_v2(keep=accnum date file_date);
      where date>= "&start_date."d and file_date<="&end_date."d;
      product_type="CC";
      drop file_date;
    run;