s-s-rS 根据矩阵/tablix 中的特定列类别添加百分比列

Posted

技术标签:

【中文标题】s-s-rS 根据矩阵/tablix 中的特定列类别添加百分比列【英文标题】:s-s-rS adding a percentage column based on a specifc column category in a matrix/tablix 【发布时间】:2016-02-25 08:28:36 【问题描述】:

我设置了一个矩阵/tablix,因此左侧有 4 个行组和一个名为 RegCompCategory 的列组:

运行报告时,RegCompCategory 列组会根据基础数据中的类别生成 3 个不同的列:

我想做的是在 RegCompCategory 列组之前添加另一列,它将显示“完全标记”列相对于“总计”列的百分比:

我猜我需要为上面突出显示的字段编写一个表达式,但我不确定如何引用 RegCompCategory 来专门识别“完全标记”的数据类别。

有人能给我一些建议吗?非常感谢。

【问题讨论】:

尝试使用 =>ReportItems!Textbox1.Value 进行计算? 可以多解释一下,因为我不确定 => 将 'ReportItems!Textbox1.Value` 与什么进行比较。我也不确定你说Textbox1 在我的矩阵中的哪个位置? Erm.. 选择目标并按 F4,将看到控件 ID。将您的 ReportItems![YourControlID].value 转换为 INT/Decimal/Float 然后您就可以进行计算了。 F4 在报表生成器中似乎没有做任何事情.. @MattHall,是 College、Department、Strand、RegisterInfo 行组吗? 【参考方案1】:

试试:

=Count(IIF(Fields!RegCompCategory.Value="Fully-Market",Fields!RegCompCategory.Value,Nothing))
/
Count(Fields!RegCompCategory.Value)

它将计算完全市场行数并除以总行数。我想这就是你所期待的。

如果这对你有帮助,请告诉我。

【讨论】:

谢谢,我早先得到了相同的答案,它可以工作......不幸的是,我的数据集很慢(大约需要 4 分钟来呈现报告)。我想知道是否有办法对其他列的结果进行计算,而不是从本质上重新计算两列的百分比? 我认为这是不可能的,因为该列是为列组动态生成的,无法引用它。在给定的场景中,我将创建另一个数据集,在 T-SQL 级别计算所需的输出。

以上是关于s-s-rS 根据矩阵/tablix 中的特定列类别添加百分比列的主要内容,如果未能解决你的问题,请参考以下文章

s-s-rS 中的自定义 tablix 过滤器

s-s-rS - 在每个新页面上打印 tablix 行标题

s-s-rS - 计算 tablix 列分组中的空白单元格?

根据参数显示或隐藏 tablix

s-s-rS:重复 tablix

s-s-rS 2008:子报表中的 Tablix 标题不重复