【问题标题】:Unable to get SUM of a nested calculated field in Tableau无法在 Tableau 中获取嵌套计算字段的 SUM
【发布时间】:2022-02-07 10:00:51
【问题描述】:

我正在尝试获取嵌套计算字段的 SUM(),但无法实现。

我有字段 A、B 和 C。我需要将每一行的结果显示为 A 相对于 C 随时间的变化。我正在使用公式来做到这一点

(A- 前一个 A)*(前一个 B/前一个 A) / 前一个 C.

上一个日期的同一类别的上一个含义值。所以表格公式是这样的:

(SUM(A)-LOOKUP(SUM(A),-1))*(LOOKUP(SUM(B),-1)/LOOKUP(SUM(A),-1))/(LOOKUP(MIN( C),-1))

应用此公式,单个行的结果看起来正确,但单个行的总和不正确,因为它没有将每行的计算值相加,而是将公式应用于公式中每个变量的总和。

因此,预期结果是 0.6%,但画面给出了 0.9%。

我在计算字段上尝试了 window_sum(),但返回的结果与计算字段相同。

如何获得嵌套计算字段的总和?

【问题讨论】:

    标签: sum aggregation calculated-field tableau-desktop


    【解决方案1】:

    您正在创建一个表格计算 - 因为您使用了 lookup() 函数。表计算对从数据源返回的聚合查询结果进行操作(即作为输入)。这与记录级别、聚合或 LOD 计算等其他计算不同——所有这些计算都将原始数据行作为输入。所以听起来你在混合概念。

    表计算是在客户端执行的,在操作顺序的后期。其他计算在服务器端执行,即由数据库服务器。

    表格计算是 Tableau 中唯一可以考虑顺序的计算。表计算仅查看从数据源获取的聚合查询结果。

    所以你可以:

    • 通过向可视化项添加更多维度(例如使用详细信息架)来获取计算所需的详细程度
    • 或者使用自定义 sql 或数据库视图来编写分析或窗口查询 - 在计算中可以考虑行顺序

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 2020-07-09
      • 1970-01-01
      • 1970-01-01
      • 2015-03-19
      相关资源
      最近更新 更多