如何有条件地选择变量?

艾尔·马洛姆(Eyal Marom)

我有一个包含2个变量的表-X和Y。我希望根据月份有条件地选择X或Y,例如:

DATA test ;
    SET work.Final_union ;
    IF 1 <= MONTH(TODAY()) <= 5
    THEN output  ;
    IF 6 <= MONTH(TODAY()) <= 12
    THEN output ;
RUN ;

如何将所选变量放在哪里?

德克·霍斯滕

我建议使用宏变量

因此,您需要根据运行日期在输出中使用不同的变量。您可以使用诸如drop x;或的语句keep y;,但问题是使它们与时间相关。为此,我将它们放在宏变量中。

一种方法是:

proc sql;
   select distinct case 
        when 1 <= MONTH(TODAY()) <=  5 THEN 'y';
        when 6 <= MONTH(TODAY()) <= 12 THEN 'x';
   end
   into :drop
   from SASHELP.CLASS;
quit;

我可以使用任何数据集代替SASHELP.CLASS,但这只是一个很小的数据集,一直存在。

一种替代方法是:

data _null_;
   select ;
        when (1 <= MONTH(TODAY()) <=  5) call symput('drop', 'y');
        when (6 <= MONTH(TODAY()) <= 12) call symput('drop', 'x');
   end;
run;
quit;

宏变量在编译时使用,而不是在运行时使用,但是SAS编译一个茎,然后运行它,然后再编译下一个茎。因此,可以在下一步骤中使用在一个步骤中创建的宏变量。

现在,您可以将其与

DATA test ;
    SET work.Final_union ;
    drop &drop;
RUN ;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

NLog:如何根据环境变量有条件地选择目标

来自分类Dev

如何有条件地从SQL Server选择记录

来自分类Dev

如何有条件地选择要显示的行

来自分类Dev

如何使用EJS有条件地显示变量

来自分类Dev

有条件地选择模型

来自分类Dev

如何有条件地渲染

来自分类Dev

我可以有条件地选择要分配给哪个变量吗?

来自分类Dev

有条件地分配值以选择变量中的值

来自分类Dev

SQL语句有条件地选择相关记录

来自分类Dev

有条件地选择熊猫DataFrame中的数据

来自分类Dev

有条件地选择串行器

来自分类Dev

有条件地选择字段值

来自分类Dev

有条件地选择和设置列值

来自分类Dev

有条件地在R中选择多个列

来自分类Dev

有条件地选择要继承的类

来自分类Dev

有条件地选择熊猫DataFrame中的数据

来自分类Dev

根据字段有条件地选择整个记录

来自分类Dev

有条件地在Angular中填充选择列表

来自分类Dev

有条件地从列决策中选择数据

来自分类Dev

有条件地包含ansible角色的变量文件

来自分类Dev

有条件地在变量前加上斜杠

来自分类Dev

有条件地按组总结几个变量

来自分类Dev

有条件地在python代码中添加变量

来自分类Dev

有条件地引用实例变量Ruby / Rails

来自分类Dev

使用dplyr有条件地更新多个变量

来自分类Dev

VBA 有条件地为变量赋值

来自分类Dev

在计算中有条件地替换变量

来自分类Dev

如何有条件地选择MySQL语句中的某些字段

来自分类Dev

如何在R中的数据框中有条件地选择列