【问题标题】:Report Builder 3.0 Add Data Elements to an ArrayReport Builder 3.0 将数据元素添加到数组
【发布时间】:2016-05-31 18:43:32
【问题描述】:

我目前正在为一些医院指标构建仪表板。该州要求我们报告关键时间的中值。此仪表板将需要显示每天的组中位数时间,而总列将需要显示整个数据集的中位数。

我正在使用 Report Builder 3.0 和 SQL Server 2014。

我已经构建了一个存储过程,可以准确计算所有这些值,但是当需要引入新字段时,以这种方式完成平均值使得扩展数据集有点像怪物。

我读过的所有文章(如this 一)在报表生成器中计算中位数都指向需要显示(或插入和隐藏)数据集中的所有数据。这种方法对我来说似乎很老套,并且会让这个仪表板成为一个绝对的怪物,随着它的发展而尝试管理。

我需要知道的是,有没有办法将组值传递给自定义代码函数?报表必须在某些时候访问组值,否则将无法对这些组执行内置聚合函数(Sum、First、Last 等)。如果我不能将这些值作为数组传递给自定义代码函数,有人知道组聚合函数是如何构建的吗?

提前感谢任何可能有方向指点我的人。

【问题讨论】:

    标签: sql-server reporting-services median reportbuilder3.0


    【解决方案1】:

    您可以将过程中的值传递给 SSRS 中的函数,然后让它只显示结果中位数。我只是给你一个总结,让你开始。

    1. 创建一个允许多个值的隐藏参数。

    2. 设置其可用值以从存储过程填充的数据集中提取。

    3. 还要设置其默认值,以便默认选择所有值。

    4. 转到报告属性的代码部分来编写您的函数。

    5. 函数会将参数作为参数,像这样Public Function MyFunc(ByVal p1 as object()) as Integer

    6. 在函数中,您可以引用p1.Length 和数组中的一个项目,如下所示:p1(i)

    7. 在报告中,您可以在如下表达式中调用函数:=Code.MyFunc(Parameters!p1.Value)

    希望这会为您指明正确的方向。

    【讨论】:

    • 这绝对让我朝着正确的方向前进。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    相关资源
    最近更新 更多