首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tableau中的“移动中值”

Tableau中的“移动中值”
EN

Stack Overflow用户
提问于 2015-03-05 13:46:57
回答 2查看 2.8K关注 0票数 1

设置:我有一堆建筑的能源使用数据,这些建筑是在不同的年份建造的。我想分析一下Tableau构建日期的能源使用情况。我最初的问题是,样本中没有足够的建筑物来为每年设置一个健壮的集合,结果输出显示出大量的噪声。分布是向右倾斜的,因为有许多高异常值,但没有接近于0的异常值,所以我想使用中值来减少少数(可能是错误的)高异常值的影响。

理想的解决方案:创建一个5年的“移动”或“运行”中值,它包括给定年份两年内任何方向的所有建筑,因此每组建筑都以该年为中心。

我在Tableau中的尝试:我想使用WINDOW_MEDIAN(能量,-2,2),但它是一个聚合函数。所以我尝试了WINDOW_MEDIAN(MEDIAN(能量,-2,2)。不幸的是,这得到了5个中位数的中位数(中位数?!嘘!)。同样,我希望在每个5年窗口中表示所有单个建筑的中位数(而不是聚合中值)。

有没有想过该怎么做?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2021-02-19 15:21:13

请允许我重新定义移动中间带。以下是来自MatLab的示例:

A=4 8 6 -1 -2 -3 -1 3 4 5;M=移动中位数(A,3)

结果是10个中值。

要在Tableau中获得相同的解决方案,您有1-2个解决方案:

如果x轴是日期,则使用线条

  • MODEL_QUANTILE。
  • 如果x轴是度量值,则需要一个双轴图表,在该图表中,第二个可视化效果是基于入库的x轴的移动中值。

佛朗哥

票数 1
EN

Stack Overflow用户

发布于 2015-03-06 01:50:46

在定义表计算时,除了计算公式本身之外,还需要指定额外的信息--告诉Tableau如何划分结果集、遍历哪些维度(地址)以及按什么顺序进行遍历。

您可以在"Compute Using“菜单下看到其中的一些选项,这通常是您所需要的,但更明确的做法是编辑表计算并为"Running of”选项选择“Advanced”。

你真正的问题是定义你想要的计算的详细程度。

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

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28870907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档