为什么tableau中的window_avg必须处理聚合变量?

时间:2018-04-27 14:59:07

标签: tableau moving-average

我试图计算30天的滚动平均值。但是,在Tableau中,我必须使用window_avg(avg(可变), - 30,0)。这意味着它实际上是在计算每日平均值的平均值。它首先计算每天的平均值,然后平均过去30天的值。我想知道Tableau中是否有一个函数可以直接计算滚动平均值,比如pandas.rolling?

1 个答案:

答案 0 :(得分:1)

在这种特定情况下,您可以使用以下

window_sum(sum(variable), -30, 0) / window_sum(sum(1), -30, 0)

要记住表格计算的一些概念

  • 表格计算对汇总查询结果进行操作。
  • 这为您提供了灵活性 - 您可以通过多种方式对查询结果表进行分区,访问结果集中的多个值,对查询结果进行排序以影响您的计算,以不同方式嵌套表计划。
  • 如果您只需从已经提取的汇总结果中计算出您需要的内容,这种方法也可以提高效率。
  • 它也为您提供了复杂性。您必须了解每个计算如何指定查询结果的寻址和分区。您还必须考虑双重聚合将如何影响您的结果。
  • 在大多数情况下,应用背靠背聚合功能需要仔细考虑结果意味着什么。正如您所指出的,平均值的平均值可能并不意味着人们认为他们的意思。其他人,可能是相当合理的,比如每日销售总额的平均值。
  • 在某些情况下,可以不加考虑地使用双重聚合,因为结果无论如何都是相同的。 Sums,Mins of Mins,Max of Max产生与在基础数据行上调用Sum,min或max相同的结果。这些函数称为加法聚合函数,并遵循您在小学时学到的关联规则。因此,这个答案开头的公式。

您还可以阅读有关Total()函数的信息。