Tableau-根据项目所属的月份对维度进行计数

时间:2019-02-01 23:09:16

标签: data-visualization visualization 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计算)。然后,我可以使用仪表板来组合所有内容。我在底部考虑了总计行,但是没有足够的方法来更改总计以根据我的需要对其进行自定义。我认为仪表板是将每个部分复制到自己的工作表中的方法。

对于这样的事情,我看到了很多建议,但并非完全如此。我尝试了很多,但没有任何效果。这是我要复制的电子表格:

Spreadsheet

正如您所看到的,J10中的计算有点奇怪,对于Excel来说并不算大,但是我正在努力在Tableau中进行复制。到目前为止,这是我在Tableau中拥有的东西,我已经完成了90%的工作,我只需要最后一次计算即可。我已经复制了主表,并确定将在新工作表上执行此J10计算,然后将它们放到Dahsboard上。唯一的事情是,我希望当新数据输入时它能够工作,所以我不想在其中硬编码任何月份数字,我希望它是动态的。到目前为止,这是我在画面上看到的内容:

Tableau

提前谢谢!

2 个答案:

答案 0 :(得分:1)

要获得Tableau中F11中的值,它是:

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

您应该能够将其创建为另一个计算字段,然后对其进行引用,或者直接将其包括在“过期总费用”计算中。

这是一个LOD计算,[Due Year]表示您只希望将结果按[Due Year]维度标注,因此您在数据源中每年将得到不同的结果。

答案 1 :(得分:0)

谢谢您-发布此内容后,我提出了以下建议:

(TOTAL([Incomplete Overdue]) + SUM(IF ([Past Due]<0 AND INT([Due Month]) = {MAX(INT([Due Month]))}) THEN 1 ELSE 0 END)) / COUNT(IF INT([Due Month]) = {MAX(INT([Due Month]))} THEN [Employee ID] END)

为我一直在寻找的基本结果工作的人。