0

Red lines need to be displayedSSRS显示网格线定制

下面是我的表,我需要每4个酒吧后siaplay线。 SSRS为我提供了显示竖线之间线条的工具,但我想要显示两个间隔之间的线条。

所以灰线是可以通过“显示大网格线”显示的内容,但我需要我在红线中高亮显示的线条,所以红色直线需要在每个月后进行显示。

感谢

回答

0

由于SSRS是不是很灵活,有时我们需要做一些棘手的事,我们需要做的。

由于X轴是每月的数据,所以我每个月的15日将行数加倍。

INSERT INTO @Output SELECT * FROM Result UNION ALL SELECT Cast(Year(DateAdd(d, -15, RevisedPeriod)) AS VarChar(4)) + '-' + Cast(Month(DateAdd(d, -15, RevisedPeriod)) AS VarChar(2)) + '-15', NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL FROM Result

然后我计算周围所有的酒吧峰值。

SELECT @Max1 = Max(Bar1) FROM @Output SELECT @Max2 = Max(Bar2) FROM @Output SELECT @Max3 = Max(Bar3) FROM @Output SELECT @Max4 = Max(Bar4) FROM @Output

SELECT @MaxAll = Max(Value) FROM (VALUES (@Max1), (@Max2), (@Max3), (@Max4)) AS AllValues(Value)

,然后得到下一个峰值,酒吧可以达到,例如,如果我得到的最大值为37295,则峰值将40,000 - 0.01,使线将达到图表的顶部。请看下面的结果。

SET @MaxAll = Cast(Cast(Cast(SubString(Cast(Cast(@MaxAll AS BigInt) AS VarChar(50)), 1, 1) AS Int) + 1 AS VarChar(1)) + Replace(Space(Len(Cast(Cast(@MaxAll AS BigInt) AS VarChar(50)))-1), ' ', '0') AS Decimal(18, 2)) - 0.01

最后更新表示每月15日与本@MaxDAll值

UPDATE @Output SET PeriodSeparator = @MaxAll WHERE Day(RevisedPeriod) = 15 AND Month(RevisedPeriod) <> 6

然后在SSRS显示每个月的范围图表类型的这15行(Eror吧)

这现在显示每个月之间的分隔线。