如何在SQL Server报表生成器中向堆叠的条形图添加自定义指标线

时间:2018-08-12 04:35:10

标签: sql-server reporting-services sql-server-data-tools builder reportbuilder3.0

我有一个堆积的条形图,显示了按任务类型堆积的每个条的工作时间总和。我希望添加一个表示“基线工作小时数”的指示器栏(在模拟屏幕截图中显示为绿色垂直线)。我可以从数据集中获取此数字的值,但无法弄清楚如何将此线添加到图表中。

我尝试了各种仪表和指示器的设置,但是还没有找到解决方案。任何帮助表示赞赏。谢谢。

Mock screenshot

2 个答案:

答案 0 :(得分:1)

您也许可以使用带状线。不利的一面是,它们出现在条形图的后面,因此您可能需要使条形图稍微变窄,这样才能通过间隙看到线条。

我使用以下查询为数据集构建了一个简单的示例

DECLARE @t TABLE(g varchar(10), n varchar(10), x int)

    INSERT INTO @t VALUES
    ('X', 'A', 50),
    ('X', 'B', 75),
    ('Y', 'C', 100),
    ('X', 'D', 50),
    ('Y', 'E', 25)

    SELECT *, AVG(X) OVER() AS avg FROM @t

然后我添加了如下堆积的条形图

enter image description here

接下来,您需要确保属性窗口可见,然后单击水平轴。在属性窗口中,您将看到如下的StripLines属性。

enter image description here

添加一条新的带状线并按如下所示设置属性,该表达式只是我在数据集中的avg字段(我也为带状线添加了标题)。您可以看到我用粗体编辑的属性。

enter image description here

最后,当我们运行报告时,我们得到了。

enter image description here

这不是完美的,但希望它能解决您的问题。

答案 1 :(得分:0)

我找到了沿水平轴使用“较小刻度线”的解决方案。

在水平轴的属性->“小刻度线”中,以自定义间隔添加包含“基准线小时”值的表达式,并将位置格式设置为“内部”。我确实必须使用“长度”属性,以确保该线不会高于图表本身。

请注意,我将“大刻度线”用于带有水平轴标签的小外部标记,因此在此之前,“小刻度线”选项已设置为“隐藏”。

enter image description here

结果如下: enter image description here

希望这对某人有帮助。