首页 > 解决方案 > Tableau - 数据包含开始/结束日期,如何在每个月之间进行固定访问?

问题描述

我有一个与这篇文章中的人非常相似的问题/数据集..

带有日期范围的数据的基于月份的 Tableau 条形图

但是,接受的解决方案实际上不适用于我的情况。他们建议制作 12 个计算字段,每个月一个,然后进行透视和显示。

我遇到的两个问题是我的数据跨越 6 年 1。所以 6 年 x 12 个月将是 72+ 计算字段 2。此外,对于每个额外的新月份,我必须手动创建一个新的计算场地

我的数据如下所示:

name   | start      | end        
john   | 2015-01-15 | 2018-03-30 
tim    | 2016-02-01 | 2017-05-15 
brian  | 2017-02-15 | 2018-04-01 

有没有办法在画面中,从最小(开始日期)和最大(结束日期)开始每个月显示一个轴,这样我就可以统计每个月的总数?

更新**就指标而言,它只是一个“记录数”计数。基本上,我根据每个人的开始和结束日期查看什么,为每个月创建一个统计,显示我们在那个特定月份有多少员工,所以输出看起来像(轴可以是任何一种方式):

          Number of Employees
Jan 2015         3
Feb 2015         5
Mar 2015         6
  .              4
  .              5
  .              8
  .              7
Sep 2016         10
Oct 2016         13 
  .              12
  .              15 
  .              15
  .              15
Apr 2017         18
 etc...        

帮助或指导将不胜感激!

谢谢

标签: tableau-api

解决方案


另一种方法可能是透视数据,然后使用运行总和来计算每个月的员工人数。

让我们从您的示例数据开始

Name    Start Date  End Date
John    2015-01-15  2018-03-30 
Tim     2016-02-01  2017-05-15 
Brian   2017-02-15  2018-04-01 


在 Tableau 中要遵循的步骤:

  • 旋转 输入数据以使其具有以下格式

Name  Pivot Field Names  Pivot Field Values
John  Start Date         2015-01-15
Tim   Start Date         2016-02-01 
Brian Start Date         2017-02-15
John  End Date           2018-03-30
Tim   End Date           2017-05-15
Brian End Date           2018-04-01

  • 创建一个计算字段Employees Count

ZN(IF([Pivot Field Names]='Start Date') THEN [Number of Records] END) -
  ZN(IF([Pivot Field Names]='End Date') THEN [Number of Records] END)

  • 拖入Pivot Field Values“列”部分。右键单击它以选择 Month MMM YYYY将其转换为连续的格式。

  • 在行部分中拖动Employees Count。右键单击它以选择“快速表计算”作为“运行总计”以使用表(跨)和瞧!


推荐阅读