在 Tableau 中使用两个维度对度量进行不同的聚合计算

Different Aggregation calculations of a measure using two dimensions in Tableau

这是一个 Tableau 8.3 桌面版问题。

我正在尝试使用两个不同的维度来聚合数据。所以,我想聚合两次:首先我想 对所有行求和 然后 以累积的方式乘以结果 (这样我就可以建立一个图表)。我怎么做?好吧,太模糊了,这里再补充一些细节:

我有一组历史数据。列是日期,行是类别。

简单部分:我想对所有行求和。

困难部分: 鉴于这些总和,我想构建一个图表,为每个日期显示从较早日期到该日期的所有总和的乘积。

换句话说:

取所有行的总和,称之为x_i,其中i是日期。

对于每个日期 i 找到 y_i 使得 y_i = x_0 * x_1 * ... * x_i(如有缺失数据,视为一个)

然后显示 y 值与日期的折线图。


我已经为此寻找解决方案并试图自己解决,但失败了。

非常感谢您的宝贵时间和帮助:)

您需要 n 个计算字段(您拥有的列数),并手动执行您需要的计算:

y_i = sum(field0)*sum(field1)

主要是因为您不能对列进行迭代。对于画面,每一列代表不同的维度或度量。所以它不会考虑它们之间有逻辑顺序,也就是说,它不会假设A列在B列之前。它会假设A和B是不同的东西。

Tableau 可以更好地处理组织为数据库的表格。因此,如果您有年份列,您应该重新组织数据,删除所有这些列并创建一个名为 'Date' 的字段,它将标识该日期的度量值。是的,您将拥有更少的列但更多的行。但 Tableau 以这种方式工作得更好(有充分的理由)。

Tableau 9.0 允许您直接执行此操作。我只看了一个演示(它是昨天发布的),但我知道现在有一个选项可以选择这些列(在“数据连接”选项卡中)并将它们转换为数据库格式。

完成后,您可以使用 PREVIOUS_VALUE 函数来帮助您。我现在不在使用 Tableau。一旦我得到它,我会用最终答案更新它。除非你带头在那之前发现自己 ;)