首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >自动变量存在宏

自动变量存在宏
EN

Stack Overflow用户
提问于 2022-05-17 10:51:03
回答 1查看 144关注 0票数 0

我正在试图细化一个宏,以查看一个变量是否仍然存在,并将其赋值为空值。

代码语言:javascript
运行
复制
%macro VarExist(ds, var);
    %local rc dsid result;
    %let dsid =%sysfunc(open(&ds));
    
    %if %sysfunc(varnum(&dsid,&var)) > 0 %then %do;
        %let result =1;
        %put NOTE: Var &var exists in &ds;
    %end;
    %else %do;
        %let result= 0;
        %put NOTE: Variable &var was dropped at SDTM level per CDISC Compliance.
             Null value will be assigned.;
    
        data AE2;
            set work.&ds;
            &VAR=.;
        RUN;
    %END;
    %let rc=%sysfunc(close(&dsid));
%MEND VarExist;
    
%VarExist(ae1,AESDTH);

是否有一种方法可以自动分配变量的实际字符/数字来源?可能是vtype还是vvalue?同样对于AE2,我可以做一些类似于&ds.n的事情,甚至可以在原始&ds数据集中自动分配它。我只做了另一个数据集的现实测试,它是有效的。有什么想法吗?与相关文件的链接?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-17 13:45:31

似乎不需要测试变量是否存在。

代码语言:javascript
运行
复制
 data ae2;
   set ae1;
   length AESDTH 8;
 run;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72272728

复制
相关文章

相似问题

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