在 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
然后我创建一个计算字段来查找 startDate
和 endDate
之间的天数差异。我将它拖到“列”架子上,然后将 Company
拖到“行”架子上。然后我将 Type
拖到 Color 架子上,将标记类型设置为 Bar,然后得到如下内容:
这里的问题是我需要沿 x 轴的日期而不是整数。此外,我需要能够像我最初的 Excel 示例一样对图表进行排序。 IE。我想对合同的最长持续时间(升序)进行排序。还必须重新组织我的所有数据似乎有点乏味。
这是我一直在使用的the spreadsheet and the tableau file。我是否忽略了一些非常简单的事情?
您的方法 2 很接近。而不是列上的 sum(datediff),将 StartDate 设置为连续的。然后将 sum(datediff) 放在大小上。您现在可以按 sum(datediff) 升序对公司进行排序。有时,重组数据是必要的。
我正在处理一个数据集,该数据集描述了一系列公司的合同期限。显然,所有合同都有开始日期和(最短)期限。但是,某些合同可能会延期。这是一个数据示例:
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
然后我创建一个计算字段来查找 startDate
和 endDate
之间的天数差异。我将它拖到“列”架子上,然后将 Company
拖到“行”架子上。然后我将 Type
拖到 Color 架子上,将标记类型设置为 Bar,然后得到如下内容:
这里的问题是我需要沿 x 轴的日期而不是整数。此外,我需要能够像我最初的 Excel 示例一样对图表进行排序。 IE。我想对合同的最长持续时间(升序)进行排序。还必须重新组织我的所有数据似乎有点乏味。
这是我一直在使用的the spreadsheet and the tableau file。我是否忽略了一些非常简单的事情?
您的方法 2 很接近。而不是列上的 sum(datediff),将 StartDate 设置为连续的。然后将 sum(datediff) 放在大小上。您现在可以按 sum(datediff) 升序对公司进行排序。有时,重组数据是必要的。