reporting-services - SSRS。根据行组值隐藏列

标签 reporting-services expression visibility

我的应用程序使用 SSRS 为员工生成工资单。工资单报告由一个包含 5 列的 tablix 组成。在这 5 个列中,有一列名为“单位”,另一列名为“发票值(value)”。

该报表有多个行分组级别,但对于此问题唯一重要的级别是工资单编号行分组“RG_SlipNum”。每个“RG_SlipNum”RowGroup 之后都有一个分页符。

当用户想要打印工资单时,他们可以选择提供最多 5 个参数来过滤要打印的结果集。

可以根据交付的单位数量 * 费率(基于单位)或按交付发票值(value)的百分比(基于发票)向员工支付报酬(过于简单化,但希望您明白我的意思)。

如果员工是基于单位的,我希望显示单位列,并隐藏“发票值(value)”列。如果它们是基于发票的,我希望两列都显示。

我的数据集有一个位字段指示是否显示或隐藏基于上述逻辑的列。对于当前行组中的每个基础行,它将是 1 或 0。我尝试在“发票值”列的列可见性表达式中使用 First(,) 函数。但是,每当我尝试使用 RowGroup 名称将 First Function 的范围限制为当前 Payslip Rowgroup 时,我都会收到以下错误。

“tablix 'X' 的隐藏表达式具有对聚合函数无效的范围参数。范围参数必须设置为字符串常量,该常量等于包含组的名称,包含数据区域的名称,或数据集的名称。”

那么,我的问题

您能否将 RowGroup 名称定义为 First() 函数中的 Scope 参数

如果不是,在不完全重新处理我的数据集/RDL 的情况下实现此目标的最佳方法是什么。(使用 SSRS2008)

最佳答案

为什么总是在发布论坛问题后,您就想出了(或一些解决方法)?

如果有人看到这个,我仍然想要一些(更好的)答案,但我已经将 tablix 中的一个单元格设置为确定是否显示该列的位字段的值。然后我更改了列可见性表达式以检查单元格值(使用 ReportItems!textboxname.Value)并且它正在运行。当我滚动工资单时,列的可见性会相应地发生变化。

关于reporting-services - SSRS。根据行组值隐藏列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12409355/

相关文章:

layout - 如何在 SSRS 2005(PDF 导出)中强制拆分文本框,而不是移动到第二页?

reporting-services - 尝试从 Business Intelligence Studio 预览报表时出现错误 "Data retrieval failed for the subreport, ' 子报表 1'"

c# - Expression.Call with Any 方法抛出异常

python - 我如何解析这种类型的表达式?

java - Android setVisibility(View.Visible)不适用于布局

java - volatile 变量和非 volatile 重新排序/可见性

sql-server-2005 - 如何在 Microsoft SQL Server Reporting Services 2005 中的项目之间共享图像?

sql - 对于 Visual Studio 2008 中的 SSRS,如何使变量接受多个值以及单个值?

fonts - 根据另一个字段更改SSRS中值字符串中特定值文本颜色的表达式

css - 超极本和混合笔记本电脑的 Zurb Foundation 可见性等级