【问题标题】:Referencing one computed column from another从另一个计算列引用一个计算列
【发布时间】:2019-12-25 18:17:26
【问题描述】:

我正在使用 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

这样,如果第一个计算列发生变化,第二个也会发生变化。这不可能吗?

提前干杯。

【问题讨论】:

  • 如果您使用的是查询生成器,您会遇到它生成的代码,但我假设如果您在查询生成器中修复它的一个地方,它也会在其他地方修复。

标签: sas calculated-columns enterprise-guide


【解决方案1】:

您可以阅读有关计算变量here 的更多信息(段落名称“选择中的计算选项”)。在你的情况下,你应该写:

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

【讨论】:

    【解决方案2】:

    这几乎与您想象的完全一样。只需使用calculated 而不是computed

    【讨论】:

      猜你喜欢
      • 2010-12-23
      • 2021-07-15
      • 2019-11-23
      • 1970-01-01
      • 2013-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-08
      相关资源
      最近更新 更多