具有日期范围的数据的 Tableau month-based 条形图

Tableau month-based bar chart for data with date range

我有类似下面的数据:

id | start      | end        | name
1  | 2017-01-15 | 2017-03-30 | Item 1
2  | 2017-02-01 | 2017-05-15 | Item 2
3  | 2017-02-15 | 2017-04-01 | Item 3

我想将其表示为横轴为月的条形图,纵轴为计数,其中的值是根据该月内的项目数计算的。在上面的数据集中,一月的值为 1,二月的值为 3,三月的值为 3,四月的值为 2,五月的值为 1.

我现在能得到的最接近的是表示具有开始日期或结束日期的项目数,但我希望月份表示该月内有多少项目。

我还没有找到一种在 Tableau 中执行此操作的方法,而无需重组我的数据集以每个月重新列出每个当前行,但我没有足够的余力去做。这可能吗?

一个解决方案可能是有 12 个计算字段,如下所示

id | start      | end        | name   | Jan | Feb | Mar | Apr | May...
1  | 2017-01-15 | 2017-03-30 | Item 1 | 1   | 1   | 1   | 0   | 0
2  | 2017-02-01 | 2017-05-15 | Item 2 | 0   | 1   | 1   | 1   | 1
3  | 2017-02-15 | 2017-04-01 | Item 3 | 0   | 1   | 1   | 1   | 0

计算字段的定义 -

  • 'Jan' 是 DATENAME('month',[start]) <= 1 & 1 <= DATENAME('month',[end])
  • 'Feb' 是 DATENAME('month',[start]) <= 2 & 2 <= DATENAME('month',[end]) 等等...

然后在 Tableau 中使用 Pivot option,将其转换为

name  | Month | Count
Item1 | Jan   | 1
Item2 | Jan   | 0
Item3 | Jan   | 0
...
Item1 | Feb   | 1
Item2 | Feb   | 1
Item3 | Feb   | 1
...
Item1 | Mar   | 1
Item2 | Mar   | 1
Item3 | Mar   | 1
...

Month拖到'Columns'并将SUM(Count)拖到'Rows'以生成最终的可视化效果。

希望对您有所帮助!