首页 > 解决方案 > 无法通过 sas 中的 where 语句过滤我的数据集

问题描述

我有以下具有 3 个初始变量的数据集: 在此处输入图像描述

我已将以下代码应用于我的数据集以具有月份和季度变量:

Data Example;
set Example;
month = put(date,monname8.);
quarter = QTR(date);
run;

然后我有以下输出(我的表的一部分有超过 30000 个观察值): 在此处输入图像描述

然后我想用month =“June”过滤所有观察结果,我使用以下代码来做到这一点:

Data Example;
set Example;
where month = "June";
run;

然后输出返回给我一个完全没有观察的空白表: 在此处输入图像描述

我尝试过使用其他变量,例如国家和季度,它们都适用于 where 语句(返回给我所需的观察结果)。只有使用月份变量,它才会返回空白表。

谁能帮我解决这个问题?

谢谢!

标签: dataframefiltersaswhere-clause

解决方案


在 PUT 中使用 -l 对齐选项,否则它会为填充添加空格。

month = put(date, monname8.  -l);

推荐阅读