SSRS:范围条形图不显示基于日期范围的重复状态

SSRS: Range Bar Chart not displaying repeated status based on Date Range

我有一个查询,它根据所需的日期范围(参数)为我提供项目的每日状态。此状态会有所不同并且会重复。例如,按时间顺序可以是:操作、维修、检查、操作、检查。如您所见,运营和检查出现了两次,但时间不同。虽然这是真的,但我似乎无法在范围条形图中以图形方式表示它,因为它只会显示每种状态的一个实例(如图所示)。图片表示剩余状态应该在哪里呈现。

Range bar Chart Error

我正在处理的数据集如下:

Range bar Chart Error Data

如您所见,图表应按以下顺序表示 4 个状态:Inspection、Operational、Repair、Operational,但不显示 2nd Operational 状态。

任何人都可以帮助我克服这个特殊的障碍,或者这不可能吗?

这应该会为您指明正确的方向...这就是我可能会采用的方法。

您需要向数据集添加一个额外的列。我将您的数据集复制到 table 变量中,然后使用以下内容获取附加列

-- 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"
    )

(如果我们缺少类型,蓝线就在那里,它会在图表上显示为蓝色。)

这给了我们..

希望这会给你足够的继续。