首页 > 解决方案 > Tableau - 根据它们所属的月份计算维度中的项目

问题描述

我是 Tableau 的新手(我以为我已经在 R 和 Python 领域工作了多年),它处理事情的方式似乎有所不同,或者我只是没有思考正确的方式。

我有一个包含培训数据的数据源(员工培训和状态)。重点是构建一个仪表板,显示逾期培训的百分比。我有它的所有逻辑,但我被困在了一些事情上。

我有一个计算字段来向我显示到期的总培训,然后当我将它放在一个表格中时,按年份过滤并按月细分,我会按月获得总数 - 很划算。

现在,我需要执行一年计算(不是月份,而是基于一些不同事物的年份),所以我的第一步是我需要获得 2018 年 12 月的“总培训到期”。我有一个维度叫做“到期月份”,它是代表月份的数字(1、2、3、4 等)。所以,根据我的观察,我只需要像这样做一个小 IF 语句(请记住,这仅适用于 2018 年的数据):

IF [Due Month] = MAX[Due Month] THEN COUNT[Employee ID] END

我知道这不是确切的上下文,但这正是我正在寻找的。因此,对于 2018 年,这意味着对于第 12 个月的所有行,我想将这些行数起来(每一行都是一个独特的训练要求),并且我想要数据集中最近一个月的总数。我的总体目标是在具有单个计算字段的新工作表中创建我需要的计算(请参见下图的 Excel 电子表格和 J10 计算)。然后我可以使用仪表板来组合所有内容。我想到了底部的总行,但是没有足够的方法来更改总数以根据我的需要对其进行自定义。我认为我的仪表板是一种方法,可以将每个部分复制到自己的工作表中。

我已经看到了很多这样的建议,但不完全是这样。我尝试了很多,但没有任何效果。这是我要复制的电子表格:

电子表格

如您所见,J10 中的计算有点奇怪,对 Excel 来说没什么大不了的,但我正在努力在 Tableau 中复制它。到目前为止,这是我在 Tableau 中的内容,我已经完成了 90%,我只需要最后的计算。我已经复制了主表,并认为我将在一张新表上进行此 J10 计算,然后将它们放在 Dahsboard 上。唯一的事情是,我希望它在新数据进入时工作,所以我不想在那里硬编码任何月份数字,我希望它是动态的。到目前为止,这是我在桌面上的内容:

画面

提前致谢!!

标签: data-visualizationvisualizationtableau-api

解决方案


要在 F11 中获得 Tableau 中的值,请执行以下操作:

{FIXED [Due Year] : sum([Incomplete Overdue])}

您应该能够将其创建为另一个计算字段,然后引用它,或将其直接包含在总逾期率计算中。

这是一个 LOD 计算,[Due Year] 意味着您只想要由 [Due Year] 维度标注的结果,因此您将在数据源中获得每年不同的结果。


推荐阅读