在Tableau中创建“堆叠”甘特图?

时间:2015-10-22 09:18:35

标签: tableau duration gantt-chart stacked-chart

我正在处理一个数据集,该数据集用公司列表描述合同期限。显然,所有合同都有开始日期和(最短)持续时间。但是,有些合同可能会延长。这是一个数据示例:

Company contractStart   minDuration firstProlong    secProlong
Company x   27-11-2011  27-11-2014  27-11-2015  27-11-2016
Company y   29-11-2014  29-11-2015      
Company z   01-04-2011  01-12-2011  01-12-2015  01-12-2017

我想在沿着x轴的持续时间的甘特图类型图中可视化它们,并且显示各自的合约长度以及可能的延长作为一种堆叠条形图。与此同时,我想要标记当前日期。我已经设法在Excel中执行此操作。见图: Ideal visualization

但是我真的希望能够在Tableau中做同样的事情,我真的无法弄清楚如何。到目前为止,我一直在使用两种不同的方法:

第一种方法

在这里,我将Company拖到行架子上,将contractStart日期拖到列架子上。然后我创建一个计算字段,用于计算(DATEDIFF)合同开始和最短持续时间之间的天数差异。我可以将它拖到Size架子上,将标记类型设置为Gantt bar,然后得到如下内容:

enter image description here

然后我可以继续计算最小持续时间和第一次延长之间的日期差异,并且第一次和第二次持续时间相同。这里的问题是我无法将这些计算字段添加到Size工具架,因为它一次只能容纳一个。

第二种方法

我在这里重组我的数据:

Company Type    startDate   endDate
Company x   minDuration 27-11-2011  27-11-2014
Company x   firstProlong    27-11-2014  27-11-2015
Company x   secProlong  27-11-2015  27-11-2016
Company y   minDuration 29-11-2014  29-11-2015
Company y   firstProlong        
Company y   secProlong      
Company z   minDuration 01-04-2011  01-12-2011
Company z   firstProlong    01-12-2011  01-12-2015
Company z   secProlong  01-12-2015  01-12-2015

然后,我创建了一个计算字段,以查找startDateendDate之间的天数差异。我将其拖到Columns架子上并将Company拖到Rows架子上。然后我将Type拖到Color架子上,将标记类型设置为Bar,并得到如下内容:

enter image description here

这里的问题是我需要沿x轴的日期而不是整数。此外,我需要能够像我的初始Excel示例一样对图表进行排序。即我想对合同的最长持续时间(升序)进行排序。还必须重新组织我的所有数据似乎有点整洁。

我一直在与the spreadsheetthe tableau file合作。我忽略了一些非常简单的事情吗?

1 个答案:

答案 0 :(得分:2)

你的方法2很接近。而不是列上的sum(datediff),将StartDate设置为连续。然后在大小上放置总和(datediff)。您现在可以按公司(datediff)对公司进行升序排序。有时,重组数据是必要的。

enter image description here