同时隐藏具有相同表达式的 SSRS 报告中的多行或多列

Hide multiple rows or columns in SSRS report with same Expression at same time

我有一个包含 Tablix/table 的报告,其中包含我通过 Column/Row 可见性对话框使用表达式有条件地隐藏的行和列集。

例如,如果我有 3 个列,我希望它们都具有相同的表达式来确定它们的可见性,有什么方法可以实现这一点,而无需为每个列打开“列可见性”对话框并输入适当的表达式?

我试过选择多个列,但右键单击上下文菜单不再提供“列可见性”选项(显示为灰色),我还尝试了列的隐藏 属性 (可以通过选择多列来批量修改),但这只会停止呈现列,在它们曾经所在的位置留下空白 space(而不是列可见性的工作方式,列在列的右侧)隐藏的列被移动以填补空白,就像在 Excel sheet).

中隐藏列一样

是否有可能实现我所追求的,或者我是否必须继续为每个 column/row 打开 Column/Row 可见性对话框我希望有条件地 hide/show?

Select 您要有条件地隐藏的列,然后按 F4 查看属性 Window。查找 Visibility 节点并使用 Hidden 属性 设置条件表达式。

表达式的计算结果应为 True(隐藏)和 False(显示)。

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

如果您要控制其可见性的列彼此相邻,您可以为它们创建一个列组并通过组管理可见性。

  • 在适当的级别添加一个新的列组,以便只包含相关的列。
    • 如果您已有列组,这可能是子组或相邻组。
    • 如果没有,您可以通过将数据集字段从报表数据拖到组窗格中来创建初始列组。
  • 在新组中插入新列,并将现有相关列中的数据移动到组中。
  • 新组不需要重复,所以在它的属性 window 中设置 Group on: 为纯文本值,例如"1".
  • 将所需的可见性设置输入属性的可见性页面 window。
  • 对于组内的每个单独的列,将 Hidden 属性 设置为 False,以删除可能干扰的任何其他表达式或设置。

不完全是您要查找的内容,但可能是中间点 - 这可以应用于除可见性之外的许多其他内容(例如背景颜色、工具提示)- 使用查看代码直接编辑 RDL。这有一个额外的好处,即能够实现每列几乎相同的更改,而不是使用最少的鼠标来实现相同的更改。

通常我会在设计器中按照我喜欢的方式设置一列,然后在其他列下设置 copy/paste。在可见性的情况下寻找 <TablixColumnHierarchy><TablixMemebers>。您将看到一个空的 <TablixMember /> 项目列表以及您已设置一列的扩展 <TablixMember><Visibility><Hidden>=... 块。只需将该块复制粘贴到感兴趣位置的空项目上(不幸的是,您需要将其计算在内,因为没有标识符)。

额外提示:如果您犯了错误或想稍后更改某些内容,您可以一次替换所有表达式(允许使用可选的正则表达式)。

请记住先备份或签入您的工作,因为如果您出错,设计者可能无法再次正确打开该报告:-)