как посчитать проблему с открытым статусом в Spotfire

Мне нужно рассчитать количество идентификаторов проблем за каждый месяц с открытым статусом. У меня ниже 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

Основываясь на приведенной выше таблице, мне нужно количество открытых статусов каждого месяца. давайте предположим, что в декабре мне нужно подсчитать, чем он должен проверить в декабре и ноябре месяце. Если какой-либо выпуск закрывается в том же месяце, это означает, что он не находится в открытой стадии,

По сути, для каждого месяца он должен также проверять свои записи, а также записи за предыдущий месяц. Требуемый результат ниже- ноябрь-3 дек-4 янв-4 фев-3 март-1


person Manjeet Singh    schedule 19.06.2015    source источник
comment
Не могли бы вы отформатировать таблицу в разборчивом виде? Я не могу понять это - заголовки должны повторяться 2 раза? Что в какой строке?   -  person wonderb0lt    schedule 19.06.2015


Ответы (2)


Так что... у меня есть способ, но он уродлив. Я уверен, что есть лучший способ, но я потратил некоторое время на то, чтобы ударить головой об этом, пытаясь заставить его работать только в 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]>

Скриншот:введите здесь описание изображения

Что касается выполнения этого с помощью python, вы, вероятно, могли бы просмотреть данные, выполнить сравнения и сохранить их в виде таблицы данных. Если я чувствую себя амбициозным в эти выходные, я мог бы попробовать из личного любопытства. Я отпишусь здесь, если что.

person clesiemo3    schedule 19.06.2015
comment
вы можете упростить чтение, сократив операторы CASE до Integer( ([Issue_Closed_Date]>Date(2014,11,30)) AND ([Issue_Open_Date]<Date(2014,12,1)) ), поскольку Integer([boolean]) будет оцениваться как 1 или 0 :) - person niko; 23.06.2015

Я думаю, что это усложняет то, что не очень логично добавлять столбец, показывающий количество задач, открытых в определенный момент времени, потому что данные не показывают время; это «одна строка на уникальную проблему».

Я не знаю, каким должен быть ваш конечный результат, но, возможно, вам лучше не разворачивать таблицу.

  1. разверните вышеуказанные данные с следующими настройками:

    • pass through: [Issue_ID]
    • преобразование: [дата_открытия_проблемы], [дата_закрытия_проблемы]
    • при желании переименуйте категорию как «Действие» и значение как «Дата действия».
  2. теперь, когда каждая строка представляет одно действие, создайте вычисляемый столбец, присваивающий числовое значение действию с помощью следующей формулы.

    CASE [Действие] WHEN "Дата_открытия_проблемы" THEN 1 WHEN "Дата_закрытия_проблемы" THEN -1 END

  3. создайте гистограмму с [Датой действия] по оси X (я бы не стал детализировать дальше месяца или недели) и следующим по оси Y:

    Сумма([Числовое действие]) по (AllPrevious([Axis.X]))

вы получите что-то вроде этого:

показывает количество открытых дел по месяцам

затем вы можете делать с этими данными всевозможные причудливые вещи, например, отображать линейную диаграмму с частотой, с которой открываются и закрываются дела (вы даже можете нанести это на комбинированную диаграмму с показанным примером).

person niko    schedule 23.06.2015