在SAS中按时间过滤数据

时间:2016-12-11 00:31:37

标签: sas analytics

我是SAS的初学者,我有一组要分析的交通事件数据。我希望按时间过滤掉数据 - 所有事件都发生在18:00:00之前。或9:00:00 - 18:00:00之间的事件

我试图找到合适的代码,但没有取得任何成功。有人可以帮帮忙吗?我使用的是标准SAS而不是企业指南。

是否带有WHERE语句?如果是这样,我该如何输入时间?

1 个答案:

答案 0 :(得分:0)

我假设你的描述中有一个带有时间变量的数据集,并希望使用硬编码的时间对其进行子集化。为此,最简单的方法是使用标准WHERE处理的时间文字。时间字面值是在引号中指定的时间,后跟T字符。

例如,您可以创建类似于以下内容的内容,这些内容会对times数据集进行分组,但仅限于time早于18:00的观察结果:

data times_before_6pm;
    set times;
    where time < '18:00't; /* restrict to times of day earlier than 6pm */
run;

这假设您的时间是时间值而不是日期时间值。如果它们是日期时间值,则需要从中提取时间部分(使用TIMEPART()函数,您可以在WHERE语句中执行此操作)。

希望这有帮助。