从另一个引用一个计算列

时间:2019-08-20 13:49:39

标签: sas calculated-columns enterprise-guide

我使用的是SAS Enterprise Guide 7.1,但我对一些看起来很基本的东西有疑问。我将简化问题,但从根本上讲,我有一个使用CASE / WHEN语句的计算列(Computed_column1)

CASE
WHEN x > y THEN "TRUE"
ELSE "FALSE"
END

我想引用第二个计算列(Computed_column2)中的第一个计算列,但是查询生成器中的高级表达式选项卡不是引用计算列的名称,而是从第一个计算列中提取所有内容。因此,如果我需要更改第一列,那么我也必须更改第二列。

所以我的第二个计算列看起来像这样:

CASE
WHEN (CASE WHEN x > y THEN "TRUE" ELSE "FALSE" END) > z THEN "TRUE"
ELSE "FALSE"
END

当我希望它成为某种动态引用时,例如:

CASE
WHEN Computed_column1 > z THEN "TRUE"
ELSE "FALSE"
END

这样,如果第一个计算列更改了第二个列,则也会更改。这不可能吗?

提前加油。

2 个答案:

答案 0 :(得分:7)

您可以阅读有关计算变量here的更多信息(段落名称“ SELECT上的计算选项”)。对于您的情况,您应该写:

CASE
WHEN CALCULATED Computed_column1 > z THEN "TRUE"
ELSE "FALSE"
END

答案 1 :(得分:3)

它的工作原理几乎与您想象的一样。只需使用calculated而不是computed