【问题标题】:How to add a custom indicator line to stacked bar chart in SQL Server Report Builder如何在 SQL Server 报表生成器中向堆积条形图添加自定义指标线
【发布时间】:2018-08-12 04:35:09
【问题描述】:

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

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

【问题讨论】:

    标签: sql-server reporting-services sql-server-data-tools builder reportbuilder3.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
    

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

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

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

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

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

    【讨论】:

    • 谢谢。我找到了另一个解决方案,它使用沿水平轴的“小刻度线”效果更好。我会尽快添加详细信息作为答案。
    【解决方案2】:

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

    在横轴属性->“Minor Tick Marks”中,在自定义间隔中添加包含“base line hours”值的表达式,并将位置格式化为“Inside”。我确实必须使用“长度”属性来确保线条不会高于图表本身。

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

    enter image description here

    结果如下: enter image description here

    希望这对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 2022-08-03
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多