我有一个查询,根据所需的日期范围(参数)向我提供项目的每日状态。此状态将有所不同,可以重复。例如,它可以按时间顺序为:操作,维修,检查,操作,检查。如你所见,运营与发展检查在不同时间表示两次。虽然这是真的,但我似乎无法在范围条形图中以图形方式表示它,因为它只显示每个状态的一个实例(如图所示)。图片显示了应该显示剩余状态的位置。
我正在使用的数据集如下:
如您所见,图表应按以下顺序表示4状态:检查,操作,维修,操作但不显示第二操作状态。
任何人都可以帮助我克服这个特殊的障碍,或者这是不可能的?
答案 0 :(得分:0)
这应该指向正确的方向......这就是我可能接近它的方式。
您需要向数据集添加其他列。我将您的数据集复制到表变量中,然后使用以下内容获取附加列
-- this just replicates your data..
DECLARE @t TABLE(StatusDate DATE, StatType varchar(20), statStart DateTime, statEnd DateTime, StatusDays int)
INSERT INTO @t VALUES
('2017-02-16', 'Inspection', '2017-01-30 12:49:14', '2017-02-21 12:49:14', 22),
...
...
('2017-03-14', 'Operational', '2017-03-01 11:49:11', '2017-04-19 15:19:48', 49)
-- the important bit
SELECT
*
, DENSE_RANK() OVER(ORDER BY statStart) as Sort
FROM @t
这给了我们以下输出。
我们可以在SSRS中使用此额外字段来正确分组和排序数据。
然后我使用以下表达式作为图表系列颜色属性,以确保颜色与statType一致
=SWITCH(
Fields!StatType.Value = "Inspection", "Tan",
Fields!StatType.Value = "Operational", "Green",
Fields!StatType.Value = "Repair", "Red",
True, "Blue"
)
(如果我们缺少一个类型,蓝线就在那里,它会在图表上显示为蓝色。)
希望这能让你继续下去。