【问题标题】:SAS inserting date into macro variable and then into datasetSAS将日期插入宏变量,然后插入数据集中
【发布时间】:2013-05-29 21:12:51
【问题描述】:

我的问题对你们中的一些人来说可能很简单,对我来说这是一个很大的障碍:D。

我需要与用户有一个交互窗口,他将能够在其中写入他想要查看数据的日期(用于回归目的的记录)。

%let dateP;
%window wprowadz
"insert date (ddmmyyyy):" dateP required = yes;
%display wprowadz;

然后

data lab4.firmy2;
set lab4.firmy;
if first.nazwa then
    data=symget("dataP");
    zamkniecie=.;
keep nazwa data zamkniecie;
by nazwa;

这当然会将所需的表达式放入宏变量中。尝试将其放入数据集中仅在以天为单位在窗口中插入日期(例如 17168)时才带来结果。然而,这还不够。

我需要的是能够以 yyyy-mm-dd 或 dd-mm-yyyy 格式插入日期,然后可能将其转换为几天,以便我可以巧妙地使用它。我试了很多次都没有结果。

任何帮助将不胜感激:)

【问题讨论】:

    标签: date sas sas-macro


    【解决方案1】:

    这样的事情应该可以工作。使用您喜欢的信息从文本字符串中输入。

    data lab4.firmy2;
    set lab4.firmy;
    if first.nazwa then do;
        data=input("&datap.",YYMMDD.);
        zamkniecie=.;
    end;
    keep nazwa data zamkniecie;
    by nazwa;
    

    您如何与用户互动(Base SAS 或 EG)?如果您在 EG,我认为提示经理可以为您简化其中的一些操作。

    【讨论】:

    • 工作就像一个魅力,非常感谢。我不知道我可以使用这样的使用过的输入,我一直在 symget() 进行隧道视觉。谢谢。
    • 您可以将 INPUT( ) 包裹在 SYMGET 调用周围,我认为这在功能上没有任何不同。 INPUT 就是将字符值转换为数字的方式。
    猜你喜欢
    • 2016-04-12
    • 2017-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-16
    • 2011-04-06
    相关资源
    最近更新 更多