【问题标题】:Tableau: Calculate Monthly and Yearly Averages from DaysTableau:根据天数计算月平均值和年平均值
【发布时间】:2016-12-28 02:34:44
【问题描述】:

我每天有几年的数据如下所示:

Date        Count
1/1/2015    1000
1/2/2015    1010
1/3/2015    1040

我想创建一个计算,允许我使用 Tableau 的日期格式在日、月和年之间切换,而无需计算每种单独格式的平均值。例如,2015 年 1 月的月平均值是 2015 年 1 月所有 31 天的计数总数除以 31。

【问题讨论】:

  • 您的数据源是否每天都恰好有一行,没有间隔?
  • 不,有额外的维度可以乘以每个日期。
  • 但是没有缺天?当您在同一天有不止一行时,计数值是否与行重复时相同?还是计数取决于其他维度?
  • 计数完全不同。没有重复。没有错过的日子。

标签: tableau-api


【解决方案1】:

由于您没有丢失数据(天数)且没有重复数据,因此解决方案非常简单。

将“计数”字段放在任何架子上(过滤架除外)。例如,将其放在“行”架子上。单击“行”功能区上的“计数”字段并将聚合更改为 AVG()。此时您应该会看到所有数据行的 AVG(Count)。

将日期字段放在任何架子上(过滤架除外)。例如,将其放在“列”架子上。单击“列”架子上的“日期”字段药丸,然后从 SECOND 批选项中选择您希望的粒度级别。 (第一批返回日期部分,而不是日期)例如,选择月份。您会看到每月的平均(计数)。

将任何其他维度放在架子上以过滤特定维度值或显示按其他维度细分的平均计数。

用户可以通过单击日期轴旁边的 + 或 - 图标或单击日期药丸来向上或向下钻取日期的粒度。您可以选择将日期显示为连续值或离散值。

如果您不喜欢 +/- UI,那么您可以创建一个带有值的字符串值参数:年、季度、月、日等,然后使用 date_trunc() 函数创建一个计算字段以允许,例如,仪表板用户从不同类型的 UI 控件中选择日期粒度。

【讨论】:

  • 这行得通,但是,我现在正在尝试做更多的事情。我正在尝试做同样的事情,但有额外的维度和与另一个数据源的混合。数据如下所示: Date Dim1 Dim2 Count 1/1/2015 A 1 1000 1/1/2015 B 1 1002 我尝试使用 Include 函数,如下所示: AVG({INCLUDE [Date]:SUM([Number of Records] )}) 这为我提供了基于所有维度组合的确切计数,但是这在混合时会产生错误。有没有办法解决这个问题?
  • 混合使这种(实际上,每一种)情况变得复杂。当两个来源共享相同的维度并且您只想从每个来源拉回聚合结果并将它们组合到 Tableau 中时,混合效果很好。如果这不是您的用例,那么混合可能不是解决方案。您刚才提到的公式使用记录数而不是计数。你要哪个?鉴于您所说的,我不明白您为什么需要使用 Include。
  • 我偶然添加了“记录数”而不是“计数”。这是正确的公式:AVG({INCLUDE [Date]:SUM([Count])})
  • 我不明白您为什么需要为此使用 LOD 计算。在某个架子上使用 AVG([Count]) 和 Month([Date]) 会更简单。 LOD calcs 非常有用,但您不需要在所有事情上都使用它们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-18
  • 2021-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-08
  • 1970-01-01
相关资源
最近更新 更多