在 Tableau 中创建 "stacked" 甘特图?

Creating a "stacked" Gantt chart in Tableau?

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

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 中做到了这一点。见图片: .

不过,我真的很想在 Tableau 中做同样的事情,但我真的不知道该怎么做。到目前为止,我一直在使用两种不同的方法:

第一种方法

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

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

第二种方法

我在这里重新组织我的数据:

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 之间的天数差异。我将它拖到“列”架子上,然后将 Company 拖到“行”架子上。然后我将 Type 拖到 Color 架子上,将标记类型设置为 Bar,然后得到如下内容:

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

这是我一直在使用的the spreadsheet and the tableau file。我是否忽略了一些非常简单的事情?

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