创建 table,维度作为行,日期之间的天数作为列

Creating table with dimension as rows and days between dates as columns

我有一个票据数据集,根据操作类别将其分成几类。我还计算了每张票证的开始日期和解决日期之间的时间。我想显示每个类别的每个解决天数的计数。

例如:

我曾尝试将我计算的天数包含在内以将变量解析为列 header,但它不起作用。

创建计算字段以使用 Datediff() 查找日期差异。 将计算字段放在列架子上,将类别放在行架子上,并将计数(ticket-id)放在文本架子上,以实现与您类似的 table。 希望对您有所帮助!

所以我能够让它工作,为 datediff 制作一个巨大的公式,而不是简单的东西。我确信有一个更简单的解决方案,但这是我为 "Time to Close" 类别所做的:

IF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 0 THEN "0"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 1 THEN "1"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 2 THEN "2"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 3 THEN "3"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 4 THEN "4"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 5 THEN "5"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 6 THEN "6"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 7 THEN "7"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 8 THEN "8"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 9 THEN "9"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 10 THEN "10"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 11 THEN "11"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 12 THEN "12"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 13 THEN "13"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 14 THEN "14"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 15 THEN "15"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 16 THEN "16"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 17 THEN "17"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 18 THEN "18"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 19 THEN "19"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 20 THEN "20"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 21 THEN "21"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 22 THEN "22"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 23 THEN "23"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 24 THEN "24"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 25 THEN "25"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 26 THEN "26"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 27 THEN "27"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 28 THEN "28"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 29 THEN "29"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
= 30 THEN "30"
ELSEIF (DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])) 
> 30 THEN ">30"
ELSE "Still Open"
END

将其设置为我的列,我的操作类别我的行并将操作类别的计数拖到文本给出了预期的结果。

对于这种情况或其他情况,您可能会发现这个更简单的公式很有帮助:

IF DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT]) < 30 THEN
    str(DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT]))
ELSEIF DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT]) >= 30 THEN "30+"
ELSE "Still Open"
END

您可能还会发现创建另一个计算字段很有用,例如使用公式

创建 [Time to Resolution]
DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])

它应该默认为 Measure 但有时您会希望将其用作 Dimension,例如在这个问题中.您可以将它拖到左侧的“维度”区域,或者,当它在可视化中使用时,right-click 它并选择 Discrete 选项。 (请注意,Measure 与 Dimension 与 Continuous 与 Discrete 并不完全相同,但通常会排成一行......如果事情很奇怪,请同时使用它们直到你得到你想要的!)

这可能有助于总体分析数据,并将原始公式简化为

IF [Time to Resolution] < 30 THEN str([Time to Resolution])
ELSEIF [Time to Resolution] >= 30 THEN "30+"
ELSE "Still Open"
END

(注意30+和>30的选择只是审美。我发现“+”更eye-catching和直观,尤其是对于商务用户来说,排序更好一些,线条最多 left-justified 个数字。显然,如果你使用 >,则 >= 需要更改为 >。)