3

平台:SSRS-2008

当两个折线图相交时,我需要添加一条垂直线,如图所示。我该怎么做?

在此处输入图像描述

4

1 回答 1

2

您要放置在图表上的绿线称为 StripLine。让它们正确显示可能非常棘手。首先要设置的是您的数据结构。

数据集结果不能如下所示:

Time    Series    Value
12:00   A         20
12:00   B         30

它们必须如下所示:

Time   SeriesAValue    SeriesBValue
12:00  20              30

原因是如果您尝试使用类别组或系列组,则不会显示带状线。

接下来,您必须计算截点。在我的示例中,我添加了另一个数据集来返回截取时间。

declare @test table(Time datetime, Value1 int, Value2 int)
INSERT INTO @test values('12:00', 32, 20), ('12:01', 30, 22), ('12:02', 24, 25), ('12:03', 28, 30), ('12:04', 29, 20)

SELECT MIN(Time)
FROM @test
WHERE Value1 <= Value2

要插入带状线,请选择图表上的水平轴。单击外观部分下的带状线属性。单击添加按钮。在 Interval 部分中,您只想更改 IntervalOffset 表达式,将其他所有内容保留为 Auto。表达式将如下所示:

=DateDiff(DateInterval.Minute, Min(Fields!Time.Value, "DataSet1"), First(Fields!ID.Value, "DataSet2")) + 1

间隔必须计算为整数,+1 是因为它从 0 开始。结果将如下所示:

在此处输入图像描述

由于其中一条线是设定值,因此您可以进一步简化它。

于 2013-08-05T19:30:15.553 回答