Tableau api &引用;移动中间带“;在画面中

Tableau api &引用;移动中间带“;在画面中,tableau-api,median,moving-average,median-of-medians,Tableau Api,Median,Moving Average,Median Of Medians,设置:我有一系列不同年份建造的建筑的能源使用数据。我想在表格中按日期分析能源使用情况。我最初的问题是,样本中没有足够的建筑,每年都有一套坚固的建筑,结果显示噪音很大。分布是向右倾斜的,因为有许多高离群值,但没有接近0的离群值,所以我想使用中值来减少少数(可能是错误的)高离群值的影响 理想的解决方案:创建一个5年“移动”或“运行”中位数,该中位数包括给定年份任意方向上两年内的所有建筑,以便每组都以年份为中心 我在Tableau中尝试的是:我想使用WINDOW_中值([能量],-2,2),但它是一个

设置:我有一系列不同年份建造的建筑的能源使用数据。我想在表格中按日期分析能源使用情况。我最初的问题是,样本中没有足够的建筑,每年都有一套坚固的建筑,结果显示噪音很大。分布是向右倾斜的,因为有许多高离群值,但没有接近0的离群值,所以我想使用中值来减少少数(可能是错误的)高离群值的影响

理想的解决方案:创建一个5年“移动”或“运行”中位数,该中位数包括给定年份任意方向上两年内的所有建筑,以便每组都以年份为中心

我在Tableau中尝试的是:我想使用WINDOW_中值([能量],-2,2),但它是一个聚合函数。因此,我尝试了WINDOW_中位数(中位数([能量],-2,2)。不幸的是,这给了我5个中位数的中位数(中位数的中位数?!Boo!)。再次,我想在每个5年窗口中代表所有单个建筑的中位数(不是聚合中位数)


有没有想过如何做到这一点?谢谢!

当您定义表计算时,您需要指定计算公式本身之外的其他信息——告诉Tableau如何划分结果集、遍历哪些维度(地址)以及以什么顺序

您可以在“Compute Using”(使用计算)菜单下看到其中的一些选项,这通常是您所需要的,但更明确地说,您可以编辑表格计算并选择Advanced(高级)作为“Running Award”(运行)选项

真正的问题是定义所需计算的详细程度

表计算根据定义对数据源返回给Tableau的聚合结果进行操作,这与数据源执行的其他计算不同。这意味着,如果您希望表计算根据数据集中的每一行计算中值,那么Tableau必须以gra的精细级别请求数据nularity。您可以通过在视图中包含一些维度组合来实现这一点,这些维度唯一地标识数据中的每一行(想想主键)。这将扩展提供给Tableau的聚合结果,以获得中值计算所需的所有数据

此时,您需要指定用于表计算的关联、寻址和排序的维度,可能在上面提到的高级面板上。网上有一些很好的教程,但实验也是一个很好的老师


在[ENERGY]周围仍然需要一个聚合函数,但由于每个数据行块应该只有行,因此聚合函数没有多大作用。在这些情况下,我通常选择MIN(),但选择MAX()、AVG()、MEDIAN()当一个分区中只有一行时,所有这些都具有相同的效果。

请允许我重新定义一个移动中间带。下面是MatLab中的一个示例:

A=[4 8 6-1-2-3-1 3 4 5]; M=中值(A,3)

结果是10个中间值

为了在Tableau中实现同样的效果,您有1-2种解决方案:

  • 如果x轴是日期,则使用带线的分位数
  • 如果您的x轴是一个测量值,则需要一个双轴图表,其中第二个可视化、移动中间带基于装箱x轴
佛朗哥