我有一些数据代表了一堆连续的事件。对于此示例,它是24小时内机器的操作员:
StartDT Operator DurationSeconds
2004-02-01 22:00 Barry 6420
2004-02-01 23:47 Darren 18780
2014-02-02 05:00 Sharon 21600
2014-02-02 11:00 Gary 10800
2014-02-02 14:00 Barry 28800
以下是生成数据集的一些SQL:
SELECT
CONVERT(DATETIME,'2014-02-01 22:00') As StartDT,
'Barry' As Operator,
6420 as SecondsDuration
UNION ALL
SELECT CONVERT(DATETIME,'2014-02-01 23:47'),
'Darren' As Operator,
18780 as Duration
UNION ALL
SELECT CONVERT(DATETIME,'2014-02-02 05:00'),
'Sharon' As Operator,
21600 as Duration
UNION ALL
SELECT CONVERT(DATETIME,'2014-02-02 11:00'),
'Gary' As Operator,
10800 as Duration
UNION ALL
SELECT CONVERT(DATETIME,'2014-02-02 14:00'),
'Barry' As Operator,
28800 as Duration
我在一个条形图上表示这一点,每个操作符都有不同颜色的条形图。
我将SUM(SecondsDuration)
放在值/数据区域,条形图最多可堆叠24小时。我把操作员放在系列部分,然后通过StartDT订购它并做一些条件格式化,我可以看到24小时分成操作符。
这给了我想要的条形图。
但是,值轴给出了总秒数,即从0到86400(24小时,以秒为单位)
有没有办法将这些标签更改为每小时一桶,即22:00,23:00,00:00,01:00至21:00
我已经搞砸了一下,我认为这不可能。
我会对任何相对简单的解决方案感到满意,包括SQL的扩展
目前我的解决方法是在下面创建一个Tablix并将其全部排列。不漂亮。
还有一些更为复杂的方面,我将提出另一个问题。
答案 0 :(得分:1)
我会使用类似于以下的表达式作为系列值将其转换为小时:
= Sum(Fields!SecondsDuration.Value)/ 3600
然后我将Axis Number Format设置为00':00'
然后我将Axis间隔设置为1(如果你想看每小时)。