Report Builder 3.0 向数组添加数据元素

Report Builder 3.0 Add Data Elements to an Array

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

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

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

我读过的所有文章(例如 this 一篇)都是为了计算 Report Builder 中的中位数,指出需要显示(或插入和隐藏)数据集中的所有数据。这种方法对我来说似乎真的很老套,并且将使这个仪表板成为一个绝对的怪物,随着它的增长而试图管理它。

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

在此先感谢任何可能指点我的方向。

您可以将过程中的值传递给 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)

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