SSRS 参数值用于显示或隐藏表列

这篇 SSRS 文章展示了如何使用报表参数值来显示或隐藏表报中的列,并提供了示例。为此,请右键单击 Datasets 文件夹以创建新的 DataSet。 

下面的代码显示了我们将用于此 SSRS 参数值以显示或隐藏表列示例的数据集,它返回 15 条记录。

我们在上面的SSRS示例中使用的SQL查询是

SELECT [FirstName] +  ' ' + [LastName] AS FullName,[Education]
,[Occupation],[YearlyIncome],[Sales],[HireDate]
FROM [Employee]

SSRS 参数值用于显示或隐藏表列

我们设计了一个简单的员工销售表报,并对其字体和颜色进行了格式化。

右键单击 Parameters 文件夹并选择 Add Parameter 选项。这将打开以下窗口。将 User 作为名称,将 Select the User 作为提示文本。

Assign Name

在 Available Values 选项卡下,选择 Specify values 选项并单击 Add 按钮。接下来,输入可用的参数值,如 Manager 和 Sales。 

例如,如果我们选择 Manager,它应该显示所有列,如果我们选择 Sales,则隐藏几列。

Enter the Available Values

接下来,单击 Column group 部分下的向下箭头并选择 Advanced Mode。

Choose Advanced Mode

我们想隐藏 Employee yearly Income 列。因此,在 Column Group 下,单击代表 Income 列的 Static,然后转到 Properties 窗口。

在 Visibility 部分,将 Hidden 属性从默认的 False 更改为 Expression。 

Visibility Expression

我们在表达式窗口中检查 @User 参数值是否等于 Sales。如果为 True,则隐藏此 Yearly Income Column。否则,显示它。

=Parameters!User.Value = "Sales"
Expression for SSRS Parameter Value to Show or Hide Table Columns

同样,我们使用了相同的表达式来隐藏 Hire Date Column。为此,选择 Hire Date 标题,更改可见性属性表达式,然后编写以下表达式。如果用户是 Sales,则隐藏 Yearly Income(上一步)和 Hire Date 列。

=Parameters!User.Value = "Sales"

现在,如果您转到报表预览,它会为 Manager 显示所有列。 

SSRS Parameter Value to Show or Hide Table Columns Preview

如果我选择 Sales 作为参数值,它不会显示 Yearly Income 和 Hire Date Columns。但是,最好的部分是它会自动调整列之间的空白。

Preview of the Parameter Value to Show or Hide Table Columns