如何在spotfire中计算开放状态的问题

时间:2015-06-19 12:13:32

标签: spotfire

我需要计算每个月的开放状态的问题ID数。 我有3列以下 -

Issue_ID
Issue_Open_Date
Issue_Closed_Date

Issue_ID    Issue_Open_Date Issue_Closed_Date   Open_Issue_Count(required output)
IS_10   11/11/2014  1/5/2015    3
IS_11   11/12/2014  12/14/2014  
IS_12   11/13/2014  11/15/2014  
IS_13   11/14/2014  3/5/2015    
IS_1    12/1/2014   12/15/2014  4
IS_2    12/2/2014   2/10/2015   
IS_3    12/3/2014   1/15/2015   
IS_4    1/1/2015    2/10/2015   4
IS_5    1/2/2015    3/11/2015   
IS_6    1/3/2015    1/22/2015   
IS_7    2/1/2015    3/5/2015    3
IS_8    2/2/2015    2/2/2015    
IS_9    2/7/2015    2/28/2015   
IS_14   3/1/2015    4/5/2015    1

根据上表,我需要计算每个月的开放状态。 让我们假设在十二月我需要计算,而不是应该在12月和11月检查。 如果任何问题在同一个月结束,则意味着该问题尚处于公开阶段,

基本上每个月都要检查他们的记录和上个月的记录。 所需产量低于 - 11月3日 12月4日 扬4 二月-3 行军-1

2 个答案:

答案 0 :(得分:0)

所以...我有办法,但它很难看。我确定这是一个更好的方法,但是我花了一些时间来试着让它在Spotfire中工作,而不是依靠循环遍历行和进行比较的python脚本。

使用交叉表中的嵌套聚合case语句,我使它工作。这是一个痛苦的屁股,因为它很漂亮的手册(必须每个月添加),但它会查找在给定的月份之后有一个截止日期的事情以及一个月或更早的开放日期。

<
Sum(Case  
when ([Issue_Closed_Date]>Date(2014,11,30)) AND ([Issue_Open_Date]<Date(2014,12,1)) then 1 else 0 end) as [NOV14_OPEN] NEST 

Sum(Case  
when ([Issue_Closed_Date]>Date(2014,12,31)) AND ([Issue_Open_Date]<Date(2015,1,1)) then 1 else 0 end) as [DEC14_OPEN] NEST 

Sum(Case  
when ([Issue_Closed_Date]>Date(2015,1,31)) AND ([Issue_Open_Date]<Date(2015,2,1)) then 1 else 0 end) as [JAN15_OPEN] NEST 

Sum(Case  
when ([Issue_Closed_Date]>Date(2015,2,28)) AND ([Issue_Open_Date]<Date(2015,3,1)) then 1 else 0 end) as [FEB15_OPEN] NEST 

Sum(Case  
when ([Issue_Closed_Date]>Date(2015,3,31)) AND ([Issue_Open_Date]<Date(2015,4,1)) then 1 else 0 end) as [MAR15_OPEN]>

截图:enter image description here

就使用python而言,你可以循环访问数据并进行比较并将其保存为数据表。如果我本周末感到野心勃勃,我可能会出于个人的好奇尝试一下。如果是的话,我会在这里发帖。

答案 1 :(得分:0)

我认为造成这种困难的原因是,添加一个显示某个时间点开放的问题数量的列是不合逻辑的,因为数据没有显示时间;这是“每个独特问题一行。”

我不知道你的最终结果应该是什么,但你可能最好不要忽视这张桌子。

  1. 使用the following settings

    取消上述数据
    • 传递:[Issue_ID]
    • transform:[Issue_Open_Date],[Issue_Closed_Date]
    • 可选择将“类别”重命名为“操作”,将值重命名为“操作日期”
  2. 现在每行代表一个操作,创建一个计算列,使用以下公式为操作指定数值。

    案例[行动]    当“Issue_Open_Date”那么1    当“Issue_Closed_Date”为-1时 END

  3. 沿X轴创建一个带[Action Date]的条形图(我不会钻月或周),并在Y轴上创建以下内容:

    Sum([Action Numeric])over(AllPrevious([Axis.X]))

  4. 你最终会得到这样的东西:

    shows number of open cases by month

    然后,您可以使用此数据执行各种奇特的操作,例如显示包含打开和关闭的情况下的速率的折线图(您甚至可以使用图示的示例将其绘制在组合图表上)。