在条形图中减去两个聚合值

时间:2017-02-21 13:44:47

标签: sql data-visualization tableau

我的数据就像 -

+-----------+------------------+-----------------+-------------+
| Issue Num |    Created On    |    Closed at    | Issue Owner |
+-----------+------------------+-----------------+-------------+
|         1 | 12/21/2016 15:26 | 1/13/2017 9:48  | Name 1      |
|         2 | 1/10/2017 7:38   | 1/13/2017 9:08  | Name 2      |
|         3 | 1/13/2017 8:57   | 1/13/2017 8:58  | Name 2      |
|         4 | 12/20/2016 20:30 | 1/13/2017 5:46  | Name 2      |
|         5 | 12/21/2016 19:30 | 1/13/2017 1:14  | Name 1      |
|         6 | 12/20/2016 20:30 | 1/12/2017 9:11  | Name 1      |
|         7 | 1/9/2017 17:44   | 1/12/2017 1:52  | Name 1      |
|         8 | 12/21/2016 19:36 | 1/11/2017 16:59 | Name 1      |
|         9 | 12/20/2016 19:54 | 1/11/2017 15:45 | Name 1      |
+-----------+------------------+-----------------+-------------+

我想要实现的是

  • 每周创建的问题数
  • 每周结案的问题数
  • 每周剩余的净发行数

我能够解决前两点,但无法接近最后一点。


我的尝试 -

这给了我每周创建的一些问题。

enter image description here enter image description here

同样地,我每周都关闭。




对于净发布数量(已创建已关闭) -

我尝试添加已关闭列以及已创建,但我无法在图表中看到第二个条形图以及创建时间。 像这样的东西

enter image description here




我尝试在excel中做同样的事情 -

enter image description here

我想要这样的东西,但是另一列是不同的 本周创建的问题数量 - 本周关闭的问题数量

在这种情况下,8-6 = 2。

2 个答案:

答案 0 :(得分:0)

您可以使用计算字段(分析 - >创建计算字段)。像这样:

 {FIXED [Create Date]:Count(if DATEPART('year',[Create Date]) = 2016 then [Number of Records] end)} - {FIXED [Closed Date]:Count(if DATEPART('year',[Closed Date]) = 2016 then [Number of Records] end)}

此函数使用LOD表达式来回退两组值。它将过滤两个日期集的所有2016年结果,然后相互减去它们。

有关LOD的更多信息,请参阅此处:

https://www.tableau.com/about/blog/LOD-expressions

将此作为衡量标准,并将其中一个日期字段作为维度。

答案 1 :(得分:0)

解决此问题的常用方法是重新整形数据,以便每个状态更改一行而不是每个问题一行,其中一列名为[Date],一列名为[Action]。行动可以提交和关闭(或者在更复杂的世界中包括批准,拒绝,无论如何 - 跟踪历史。

  • 您可以在不修改源数据的情况下进行重新整形,方法是使用UNION获取每行的两个副本以及相应的计算字段,以使可见列有意义(例如,创建计算一个名为Date的字段,返回提交日期或截止日期取决于该行是来自第一个或第二个联合,具有类似的一个名为Action的值,其值也取决于该值。过滤掉具有空日期的关闭操作)
  • 或者您可以预处理数据以重塑它。
  • 或者您可以使用数据混合制作两个指向相同数据源的源,但自定义链接字段以排列提交和关闭日期(例如,复制数据连接并将两个日期字段重命名为同名)。但在这种情况下,您可能希望创建具有每个日期但没有其他数据的脚手架源,以用作主要数据源,以避免从主要数据源中过滤掉未显示在主数据库中的数据。混合方法可能很脆弱。

假设您使用了UNION方法而不是数据混合,那么您可以计算特定日期范围内的提交和关闭数量,或者计算差异的运行总数以查看随时间推移的积压大小。