嗨
下面是我的表,我需要每4个酒吧后siaplay线。 SSRS为我提供了显示竖线之间线条的工具,但我想要显示两个间隔之间的线条。
所以灰线是可以通过“显示大网格线”显示的内容,但我需要我在红线中高亮显示的线条,所以红色直线需要在每个月后进行显示。
感谢
嗨
下面是我的表,我需要每4个酒吧后siaplay线。 SSRS为我提供了显示竖线之间线条的工具,但我想要显示两个间隔之间的线条。
所以灰线是可以通过“显示大网格线”显示的内容,但我需要我在红线中高亮显示的线条,所以红色直线需要在每个月后进行显示。
感谢
由于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吧)
这现在显示每个月之间的分隔线。