【问题标题】:How do we calculate difference and percent difference between two columns in tableau我们如何计算表格中两列之间的差异和百分比差异
【发布时间】:2020-09-17 14:22:45
【问题描述】:

]必须计算差异和百分比差异。

我不能做 Apr20-MAy20,因为它并不总是一样的。我需要显示当月和上月

所以我做了一个相对过滤器,只显示当前月份和上个月。 所以当月份改变时,两列的差异应该会自动改变。

现在我如何获得前一年的同一个月,如何过滤?

我还需要计算当年同月和上年同月的差值。

提前感谢您的帮助!

当我做跨差异表时,差异值会覆盖现有的 May 和 Apr 月份值,如下面的屏幕截图,如何在另一列中显示差异

目前:

预计会低于:

【问题讨论】:

    标签: tableau-api


    【解决方案1】:

    听起来您应该为日期创建一个自定义过滤器。你想要:

    • 今年这个月
    • 去年这个月
    • 今年最后一个月

    有很多方法可以做到这一点。我将举一个例子,并假设您的数据集中没有任何未来日期。

    [DateFilter]: DATETRUNC('month',[YourDateField])>=DATETRUNC('month',DATEADD('month',-1,TODAY())) OR DATETRUNC('month',[YourDateField])=DATETRUNC('month',DATEADD('year',-1,TODAY()))
    

    将 放在过滤器架子上,设置为 True,它应该保留您想要的月份。

    那你就可以直接用标准表计算到calculate Difference and Percent Difference.

    注意,公式没有经过测试,只是在这里直接输入,如果不起作用,请告诉我

    根据您的 cmets 查看为 YoY / MoM / etc 计算创建单独的计算。这也意味着创建计算字段来隔离当前月份、上个月等。

    例如当前月份:

    [isCM]: DATETRUNC('month',[YourDateField]) = DATETRUNC('month',TODAY())
    

    上个月:

    [isPM]: DATETRUNC('month',[YourDateField]) = DATETRUNC('month',DATEADD('month',-1,TODAY()))
    

    然后逐月,例如:

    [MoM]: (SUM([Measure])*INT([isCM]))/(SUM([Measure])*INT([isPM]))
    

    为了让你的桌子检查这篇关于using the placeholder technique to create tables in Tableau的文章

    【讨论】:

    • 非常感谢安迪的快速反应。该公式按预期显示当年的当前和上个月。到目前为止,我的数据集中没有 2019 年的数据,但我想一旦我们获得上一年的数据,上一年的同月就会出现。对于差异计算 - 我在测量值下有测量“打开”、“关闭”和“检查”。总和(打开),总和(关闭),总和(选中)。这就是我在可视化中看到这些数据的原因。如何计算(当年同月与上年同月)与(当月与上月)的差值
    • 我已经更新了答案,提供了如何进行表格计算的链接。这就是你将如何做 MoM、YoY 等。
    • 嗨,安迪,谢谢您的链接,我希望差异显示在另一列中,当我进行表(跨)差异计算时,这会覆盖 apr20 和 May20 值并仅显示差异.
    • 安迪我在问题中添加了另一个屏幕截图,当我做表(跨)差异时,我如何看待这些值以及我希望如何看到结果,请告诉我.
    • 更新了答案。基本上你需要创建一堆计算来做到这一点。
    猜你喜欢
    • 2017-06-09
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    相关资源
    最近更新 更多