首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SAS新手入门

SAS新手入门
EN

Stack Overflow用户
提问于 2021-03-23 19:58:54
回答 2查看 121关注 0票数 0

我是SAS的新手,我正在为我的代码而苦苦挣扎。我想要一些帮助。我这样想对吗?我有一个很大的表,我想从某些日期提取数据。我的两个日期: 1969-12-01和1948-01-01我的示例代码:

代码语言:javascript
复制
data null;
 call symput ('timenow',put (time(),time.));
 call symput ('datenow',put (date(),date9.)); 
run; 
title "The current time is timenow and the date is datenow"; 
proc print data=sashelp.buy; 
run; 
EN

回答 2

Stack Overflow用户

发布于 2021-03-23 21:08:22

因此,首先了解一下您的数据集。例如,运行PROC CONTENTS。

代码语言:javascript
复制
proc contents data=sashelp.buy; run;

这将向您显示名为DATE的变量具有日期值(自1960年以来的天数)。

因此,要引用特定的日期,请使用日期文字。这是DATE informat可以读取的样式中的带引号的字符串,后跟字母D。然后可以使用WHERE语句来过滤数据。

代码语言:javascript
复制
data want;
  set sashelp.buy;
  where date = '31dec1969'd ;
run;

这将找不到任何观察值,因为该日期没有出现在该数据集中。

如果要选择多个日期,可以使用OR添加更多条件。

代码语言:javascript
复制
  where (date = '31dec1969'd) or (date = '01jan1948'd);

还可以使用IN运算符:

代码语言:javascript
复制
  where date in ('31dec1969'd '01jan1948'd);

请注意,如果您的变量包含日期时间值(秒数),则要选择特定日期,您需要使用一系列日期时间文字:

代码语言:javascript
复制
  where datetime between '31dec1969:00:00'dt and '31dec1969:11:59:59'dt);

或者将秒数转换为天数并与日期文字进行比较。

代码语言:javascript
复制
  where datepart(datetime) = '31dec1969'd ;
票数 0
EN

Stack Overflow用户

发布于 2021-03-24 10:30:46

欢迎使用StackOverflow Sportsguy3090。

在这里,我创建了一个名为sample的数据集,其中包含一些样本日期。该数据集有一个名为name的变量和另一个名为date的变量。在内部,SAS将日期存储为1970年1月1日或之后的天数。这看起来很粗糙。因此,我使用format语句将日期显示为包含月/日/年的10个字符的字符串。

代码语言:javascript
复制
data sample;    
    name = "Abe  "; date = "01Dec1969"d; output;
    name = "Betty"; date = "01Jan1948"d; output;
    name = "Carl"; date = "06Jun1960"d; output;
    name = "Doug"; date = "06Dec1969"d; output;
    name = "Ed"; date = "01Jan1947"d; output;

    format date mmddyy10.; 
run;

下面的代码将数据子集,并将良好的记录放入一个名为keepers的新数据集中。它只保留日期范围内的记录(包括限制日期)。

代码语言:javascript
复制
data keepers;
    set sample;
    where date between "01jan1948"d and "01Dec1969"d;
run;

我希望这会有帮助..。如果没有的话,再发一枚照明弹。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66762703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档