【问题标题】:sas macro to count difference between two date strings & store the number in new variablesas 宏来计算两个日期字符串之间的差异并将数字存储在新变量中
【发布时间】:2016-01-11 10:47:13
【问题描述】:

参数start_dateend_date & output_vars。日期是章程字符串。如何在宏中转换?

    data _null_;  
    start =;
    end = ;
    diff=end date-startdate;
    days = intck('day',start,end);
    weeks = intck('week',start,end);
    months = intck('month',start,end);
    year = intck('year',start,end);
    put  days= weeks= months= year=;
run;

【问题讨论】:

    标签: macros sas-macro


    【解决方案1】:

    首先,如果您有宏参数,那么它们将是宏变量而不是数据步变量。因此,您需要将参数值引用为 &START_DATE 等。 其次,您可以使用%SYSFUNC() 宏函数在宏代码中调用INTCK() 函数。 第三,您需要知道参数将使用的日期格式。如果您只要求他们使用DATE 格式是最简单的,那么您可以将参数值用作日期文字。

    %let start_date=01JAN2015 ;
    %let end_date=01JAN2016 ;
    %let days = %sysfunc(intck(day,"&start_date"d,"&end_date"d));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-06
      • 2021-01-09
      • 2021-05-27
      相关资源
      最近更新 更多