SSAS 隐藏特定维度的度量
SSAS hide measure for certain dimension
如果用户选择特定维度或转到特定维度层次结构级别,如何隐藏度量或范围?
谢谢。
在度量属性上,您可以将要隐藏的度量的 set visible 属性 设置为 false。另一种选择是使用透视并再次选择要隐藏或不隐藏的内容。
在您的 MDX 脚本中尝试这样的操作:
FREEZE([Measures].[My Measure], [Product].[Subcategory].[All]);
([Measures].[My Measure], [Product].[Product].Members, [Product].[Subcategory].[Subcategory].Members) = null;
冻结确保下一条语句不会清空类别级别的总计。下一个声明突出了整个产品维度的度量,直到子类别总数,但不超过。
请注意,这可以消除无意义的数字,但这不是一项安全功能。精明的用户可以执行钻取命令来获取产品级别编号。或者,精明的用户可以以特殊方式连接并清除其会话的整个 MDX 脚本,以便他看到详细的产品数据。
更安全的方法:
- 如果您可以取消所有措施的产品数据,然后设置基于角色的安全性。在维度数据安全性中,仅授予成员 Subcategory.All 的访问权限,但取消选中高级选项卡上的可视总计,以便子类别总计为实际总计。
- 或者设置第二个精简的产品维度,它只有最高级别,没有详细的产品级别。然后仅将该维度与该度量值组相关联。
- 或者创建第二个度量值组,在 SQL 中进行分组并仅在类别级别加入产品维度。因此没有详细的数据只有汇总。然后使用安全控制,无论是使用查看详细措施还是汇总措施。
如果用户选择特定维度或转到特定维度层次结构级别,如何隐藏度量或范围?
谢谢。
在度量属性上,您可以将要隐藏的度量的 set visible 属性 设置为 false。另一种选择是使用透视并再次选择要隐藏或不隐藏的内容。
在您的 MDX 脚本中尝试这样的操作:
FREEZE([Measures].[My Measure], [Product].[Subcategory].[All]);
([Measures].[My Measure], [Product].[Product].Members, [Product].[Subcategory].[Subcategory].Members) = null;
冻结确保下一条语句不会清空类别级别的总计。下一个声明突出了整个产品维度的度量,直到子类别总数,但不超过。
请注意,这可以消除无意义的数字,但这不是一项安全功能。精明的用户可以执行钻取命令来获取产品级别编号。或者,精明的用户可以以特殊方式连接并清除其会话的整个 MDX 脚本,以便他看到详细的产品数据。
更安全的方法:
- 如果您可以取消所有措施的产品数据,然后设置基于角色的安全性。在维度数据安全性中,仅授予成员 Subcategory.All 的访问权限,但取消选中高级选项卡上的可视总计,以便子类别总计为实际总计。
- 或者设置第二个精简的产品维度,它只有最高级别,没有详细的产品级别。然后仅将该维度与该度量值组相关联。
- 或者创建第二个度量值组,在 SQL 中进行分组并仅在类别级别加入产品维度。因此没有详细的数据只有汇总。然后使用安全控制,无论是使用查看详细措施还是汇总措施。