SSRS中分组行的单独列能否不隐藏整行仅隐藏指定列?
SSRS 2014行分组列隐藏权限控制解决方案
你推测的问题原因正确:行分组的依据列默认不在右键菜单展示隐藏选项,属于功能入口隐藏而非不支持隐藏,以下是可直接落地的解决方案:
- 方法1:通过属性窗格直接设置隐藏规则
选中你要隐藏的分组列(点击设计界面上的列标题选中整列),按F4调出属性窗口,找到Hidden属性,点击属性右侧的表达式按钮,写入权限判断逻辑即可,示例代码:
保存后直接生效,无需调整现有分组结构。=IIf(Parameters!UserRole.Value = "普通用户", True, False) - 方法2:通过分组高级模式修改静态成员可见性
如果方法1选中列后属性设置不生效,可打开分组面板的高级模式:点击行分组/列分组面板右上角的下拉箭头,勾选「高级模式」,此时分组面板会显示所有静态、动态成员,找到前3列对应的静态行成员,同样在属性窗格修改其Hidden属性的表达式即可。 - 配套权限逻辑补充
- 普通用户仅看自身数据:可在数据集查询中增加权限过滤条件,或者在Tablix的过滤规则中添加判断:
=Fields!所属用户ID.Value = User!UserID,主管角色跳过该过滤规则即可。 - 主管自定义展示内容:新增一个多值报表参数
自定义隐藏列,可选值为报表所有列的名称,将列的Hidden属性表达式调整为兼容角色和自定义设置的逻辑,示例:
=IIf( Parameters!UserRole.Value = "普通用户", True, Array.IndexOf(Parameters!自定义隐藏列.Value, "当前列名") > -1 ) - 普通用户仅看自身数据:可在数据集查询中增加权限过滤条件,或者在Tablix的过滤规则中添加判断:

内容的提问来源于stack exchange,提问作者DaveInAZ
相关产品推荐
相关产品推荐

