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

时间:2015-04-06 20:11:08

标签: tableau

这是一个Tableau 8.3 Desktop Edition问题。

我正在尝试使用两个不同的维度聚合数据。所以,我想聚合两次:首先我想对所有行进行求和,然后以累积方式将结果相乘(所以我可以构建一个图形)。我怎么做?好的,太模糊了,这里有更多细节:

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

简单的部分:我想总结所有行。

困难部分:鉴于这些总结,我想构建一个图表,对于每个日期,它显示从早期日期到此日期的所有汇总的乘积。

换句话说:

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

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

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


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

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

1 个答案:

答案 0 :(得分:0)

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

y_i = sum(field0)*sum(field1)

基本上是因为你不能迭代列。对于tableau,每列代表不同的维度或度量。所以它不会认为它们之间存在逻辑顺序,这意味着,它不会假设A列在B列之前。它将假设A和B是不同的东西。

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

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

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