我被要求将以前的 Excel 和
PowerBI
仪表板转换为 Tableau,我遇到了一个问题,我需要根据 [发票日期] 显示每个月 [供应商代码] 的不同计数,以及不同的计数从当月开始,过去 13 个月的[供应商代码]计数。我做了一个简短的例子如下:
这是每个供应商代码在 5 年期间(2019 年 1 月 1 日 - 2023 年 12 月 31 日)的所有发票,如您所见,每天可能有多个[供应商代码]。
我的目标:(基于年月水平)
这将是一张面积图,显示该月的 [供应商代码] 的不同计数与滚动 13 个月的 [供应商代码] 的不同计数,即:
当前的非重复计数很简单,它与我拖动到行/列的任何维度一致,就像“COUNTD([供应商代码])”一样。痛苦在于滚动的 13 个月,我不知道 Tableau 如何将过滤器纳入计算中。
我想知道如何为 Tableau 提供动态日期范围(即当前月份之前的 13 个月)。
我也对“FIXED”方法感到困惑,我得到了类似的东西:
{FIXED [Supplier Code],[Invoice Date]:
MIN(IF [Invoice Date] = {EXCLUDE [Invoice Date] : MIN([Invoice Date])}
THEN 1
ELSE 0
END
)}
当我将其拖到表格中时,它会生成当月的[供应商代码]的新的不同计数,与当月之前的所有月份进行比较。好吧,这是我目前最好的方法,就好像我在上面的代码上使用“RUNNING_SUM(SUM())”的另一个计算一样,它得到了“Feb 2020”的正确结果,因为它是滚动13个月。然后它只是将 [供应商代码] 的新不同计数添加到我的数据集的最后一个月。
期待这里有不同的做法~
您可以创建一个计算字段来获取发票日期的最后 13 个月,并将其基于 TODAY() 日期函数以使其动态化。
类似:
IF [Invoice Date] >= DATEADD('month', -13, TODAY()) AND [Invoice Date] <= TODAY() THEN ...
这会检查发票日期是否在今天之前或截至今天 13 个月的日期范围内。
帮助澄清:
FIXED
计算将计算的详细级别固定或“固定”到您在计算中冒号之前放置的字段的任何级别。 在此处阅读更多相关信息。