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

问题描述 投票:0回答:2

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

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

sql-server reporting-services sql-server-data-tools builder reportbuilder3.0
2个回答
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

它并不完美,但希望它能解决你的问题。


0
投票

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

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

请注意,我使用“主刻度标记”表示小的外部标记,横向轴上有标签,因此在此之前将“次要刻度”选项设置为“隐藏”。

enter image description here

结果如下:enter image description here

希望这有助于某人。

© www.soinside.com 2019 - 2024. All rights reserved.