【问题标题】:format and informat in sassas中的格式和信息
【发布时间】:2015-06-13 13:50:07
【问题描述】:

我有以下数据:

data d;
input date1 $ date2 $;
cards;
5oct10  11nov11
6jul12  12oct13
1jan08  4may10
4may04  8jul06
1mar07  5aug07
18may04 1oug09
7aug05  8jul09
1feb03  5apr06
3feb01  15jul08
4apr07 16apr07
run;

*我需要在 date7.informat 中阅读此内容,然后在 date9.format 中显示数据。

*我如何读取以宽度格式开头的数据,以及如何在我的汽车不是完全数字的情况下将日期的宽度从 7 转换为 9?

当尝试这样的事情时:

proc print data=d;
format date1 date2 date9.;;
run;

它失败了,因为我在非完全数字变量上使用了数字格式

【问题讨论】:

    标签: format sas informat


    【解决方案1】:
    data d;
    input date1 date7.  date2 date7.;
    format date1 date9. date2 date9.;
    cards;
    5oct10  11nov11
    6jul12  12oct13
    1jan08  4may10
    4may04  8jul06
    1mar07  5aug07
    18may04 1oug09
    7aug05  8jul09
    1feb03  5apr06
    3feb01  15jul08
    4apr07 16apr07
    ;
    run;
    

    【讨论】:

      【解决方案2】:

      如果您使用 INFORMAT 语句告诉 SAS 如何读取变量,则无需在 INPUT 语句中列出格式。变量的 INFORMAT 和 FORMAT 不必相同,但在这种情况下可以相同,因为 DATE9 信息将识别只有两位数年份的值。

      informat date1 date2 date9.;
      format date1 date2 date9.;
      input date1 date2 ;
      

      【讨论】:

      • 谢谢! ,这是最好的方法:数据d;通知日期 1 日期 2 日期 7。;格式 date1 date2 date9.;输入日期 1 日期 2 ;牌; 5oct10 11nov11 6jul12 12oct13 1jan08 4may10 4may04 8jul06 1mar07 5aug07 18may04 1aug09 7aug05 8jul09 1feb03 5apr06 3feb01 15jul08 4apr07 16apr07 运行;
      【解决方案3】:

      修改您的数据步骤,以便:

      input date1 date7. date2 date7.;
      

      如果您使用date1 $ 读取日期线,则结果数据集将具有 date1 = '5oct10','6jul12' and so on 的值。但是,当您在 proc print 应用格式 date9. 时,您需要提供 SAS 时间值。请注意,SAS 以自己的格式读取时间值,即从 1960 年 1 月 1 日开始计算。您可以通过在您的 SAS 中运行语句 `put "today is today()" 来尝试它。

      修改后你的 proc print 语句应该可以正常工作了。

      而且,由于某些原因,您想以自己的格式读取 date1 和 date2 的值,即5oct10,恐怕您可能需要分别分隔值日、月和年(例如,通过scan 函数)并使用函数 MDY( month, day, year) 将其转换为 SAS 时间值。在这种情况下,您在 proc print 声明中使用 date7. 的格式声明也可以使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-17
        相关资源
        最近更新 更多