变量从未被引用 [SAS]

Variable has never been referenced [SAS]

我有一个包含帐号信息的数据集。我正在尝试添加一个名为 product_type 的新变量,为每条记录填充相同的值。它在 SAS 宏中。

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;

但是,我不断收到错误消息“变量 product_type 在 DROP、KEEP 或 RENAME 列表中从未被引用”并且输出数据集仅显示名为 product_type 的空白列.这里发生了什么?

您正在对输入数据集使用 KEEP= 数据集选项。所以错误是说 PRODUCT_TYPE 在数据集中不存在 CC_BASE_V2.

如果您想控制数据步骤写入哪些变量,只需使用 KEEP 语句即可。

keep accnum date product_type;

在您的情况下,您可以使用 KEEP= 数据集选项,但只列出来自 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;