首页 > 解决方案 > 在 Tableau 中,如何找到一组数字的最大值与最大值之后的数字的平均值之间的差异?

问题描述

我有一个 Tableau 表,如下所示:

桌子

我正在尝试创建一个字段,该字段将为每个零件号返回一个值。该值应该是 5 周的最大“数量”并减去最大“数量”周后 n 周的平均“数量”。

例如:对于 A 部分,最大“数量”为 6。最大值后三周的“数量”平均值为 2,2,1 为 1.7。所以我在这里寻找的数字是 5-1.7,即 3.3。

所以最终的解决方案看起来像这样:

最终解决方案

B 为 0,因为最大“数量”为 5,而在任何 5 之后取的平均“数量”为 5,因此差异为 0。

D 为 0,因为第 6 周的最大“数量”为 50,之后没有值。

标签: formulatableau-api

解决方案


我们将从设置舞台开始:

在此处输入图像描述

然后,我们将一步一步地进行。

  1. 零件最大数量

    MAX({ 固定 [部分]: MAX([数量]) })

此计算捕获每个零件的最大数量。

在此处输入图像描述

  1. 最大的一周

    IF([按零件的最大数量] = SUM([数量])) THEN MIN([周]) END

此计算返回最大值等于该周数量的周。

在此处输入图像描述

  1. 最早的最大周

    WINDOW_MIN([最大周数])

现在我们需要创建一个表计算来填充每个部分的所有行,其中包含与最大值匹配的最早周。

您需要编辑表格计算以匹配这些设置。

在此处输入图像描述

如果您已按照上述步骤操作,您应该会看到这一点。

在此处输入图像描述

  1. 在最大数量的最早一周之后

    ATTR([Week]) > [Earliest Week of Max]

现在我们需要为 Max Qty 第一周之后的那几周创建一个标志。

请注意,您可能需要编辑此表计算以匹配上一个

在此处输入图像描述

  1. 最早最大周后的平均数量

    WINDOW_AVG(IF([在最早的一周之后?]) THEN SUM([Qty]) END)

这将在达到最大数量的前一周之后平均数量。

对于此嵌套表计算,必须设置两个计算。

在此处输入图像描述

如果您一直在关注,您会看到这一点。

在此处输入图像描述

  1. 你的幻数

    [按零件的最大数量] - [最早最大周后的平均数量]

现在只需减去我们的计算即可。

不要忘记设置表格计算

在此处输入图像描述

  1. 隐藏您不想看到的内容。

我们将使用此计算来帮助我们:

FIRST()

将该表计算放在过滤器架上并像我们一样进行编辑。然后将 FIRST 过滤器调整为 0。

在此处输入图像描述

现在您只会看到每个部分的一行。

在此处输入图像描述

我们可以隐藏周标题。

在此处输入图像描述

并删除除数字之外的所有度量。

在此处输入图像描述

显然,这里发生了很多事情,但这会让你得到你所追求的。希望这会有所帮助。快乐的试镜!


推荐阅读