从库中访问日期变量列

时间:2016-11-18 06:41:53

标签: sas

我正在尝试分配'。'从特定库中的所有日期变量列的值,但我找不到从某个库中获取日期变量列数据的方法。任何帮助表示赞赏。    - >将所有日期变量转换为缺失的代码 - >

DATA assgnmiss;
        SET dtevars ;
        date=.;
        KEEP date;
    RUN;

访问日期变量的示例代码 - >

data table;
   set sashelp.vcolumn;
   where libname='Stats' and datatype ='Date';
run; 

1 个答案:

答案 0 :(得分:0)

正如Reeza评论的那样,SAS数据集变量只有两种类型:字符和数字。两者都可能包含日期信息。如果数据集的创建者未将任何日期格式应用于其数字日期列,则您只需执行以下操作:

  • 格式
  • 标签
  • 包含'date'的变量名称,或数据集创建者使用的其他命名约定。

未格式化的日期变量不易与其他数字变量区分开来。但是有一些线索:

  • 日期变量计算自1960年1月1日以来的天数,因此2016年1月1日= 20454。
  • 日期时间变量计算自1960年1月1日00:00:00以来的秒数,因此2016年1月1日00:00:00 = 1767225600。

如果您发现未格式化的数字变量具有类似日期或日期时间的值分布,则它们可能包含日期信息。

字符日期变量可能更难发现,因为它们可能不包含任何标准日期格式的信息。如果您想尝试自动检测字符日期,可以尝试使用anydtdtm.信息输入它们,该信息可以捕获大多数标准日期和时间格式,并查看是否有缺失值。

获得确切答案的唯一方法是联系数据集的创建者。