创建维度为行的表格,日期之间的日期为列的日期

时间:2019-05-17 19:27:08

标签: tableau

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

诸如此类:

enter image description here

我尝试将计算出的天数包括在内以将变量解析为列标题,但是它不起作用。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

因此,我能够使它为datediff制定一个庞大的公式,而不是简单的公式。我确定有一个更简单的解决方案,但这是我为“关闭时间”类别所做的事情:

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

在此作为我的专栏,在我的操作类别中添加行,并将操作类别的计数拖到文本中,即可得到理想的结果。

答案 2 :(得分:0)

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

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

您可能还发现创建另一个计算字段(例如带公式的[解决时间])很有用

DATEDIFF('day',[reported_date_DT],[last_resolved_date_DT])

它应该默认为度量,但有时您会希望将其用作维度,例如本问题。您可以将其拖动到左侧的“尺寸”区域,或者在可视化中使用它时,右键单击它并选择 Discrete (离散)选项。 (请注意,度量与尺寸与连续与离散并不完全相同,但是通常会排列在一起……如果两者都怪异地玩,直到获得所需的东西!)

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

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

(请注意,选择30+与> 30只是为了美观。我发现“ +”更加醒目和直观,尤其是对于商务用户而言,它的排序更好,并且左对齐显然,如果您使用>,则> =需要更改为>。)