我的应用程序使用 SSRS 为员工生成工资单。工资单报告由一个包含 5 列的 tablix 组成。在这 5 个中,有一列称为“单位”,另一列称为“发票值”。
该报告有几个 Row Grouping 级别,但对于这个问题唯一重要的是 Payslip Number Row Grouping "RG_SlipNum"。每个“RG_SlipNum”RowGroup 之后都有一个分页符。
当用户想要打印工资单时,他们可以选择提供多达 5 个参数来过滤要打印的结果集。
员工可以根据交付的单位数量 * 费率(基于单位)或交付的发票价值的百分比(基于发票)获得报酬(过于简单,但希望你明白我的意思)。
如果员工是基于单位的,我希望显示单位列,并隐藏“发票价值”列。如果它们是基于发票的,我希望两列都显示。
我的数据集有一个位字段,指示是否根据上述逻辑显示或隐藏列。对于当前 rowGroup 中的每个基础行,它将是 1 或 0。我尝试在“发票值”列的列可见性表达式中使用 First(,) 函数。但是,每当我尝试使用 RowGroup 名称将 First Function 的范围限制为当前 Payslip Rowgroup 时,都会出现以下错误。
“tablix 'X' 的隐藏表达式具有对聚合函数无效的范围参数。范围参数必须设置为字符串常量,该常量等于包含组的名称、包含组的名称数据区域,或数据集的名称。"
所以,我的问题
您可以在 First() 函数中将 RowGroup 名称定义为 Scope 参数吗?
如果不是,那么在不完全重新工作我的数据集/RDL 来实现这一目标的情况下,实现这一目标的最佳方法是什么。(使用 SSRS2008)