我对ssas相对较新,并且遇到了麻烦。
情景:
问题:
已经要求如果用户只能看到一个国家的公司(例如),那么他们就不应该能够看到层次结构中的更高级别(因为总数将是相同的)。也就是说,如果您只能看到英国公司,您应该只看到层次结构的国家和公司级别,而不是子区域(欧洲)和地区(EMEA)级别。
有没有人对如何实现这一点有任何想法,或者即使可以做到这一点?我们可以管理在报告层中工作的解决方案,但要求是应在多维数据集中处理,以允许未来的临时报告/备选报告解决方案。
我尝试的想法/事情:
实施多个视角 这是完全相同的 他们使用的公司层级;每 perspective使用具有的层次结构 从较低和较低的水平开始。
HideMemberIf - 据我所见,这用于创建一个参差不齐的层次结构,并隐藏较低的成员而不是层次结构的顶层。
所以,总之,嗯。
答案 0 :(得分:2)
您可以通过删除角色在关联层次结构中查看成员的权限来执行此操作。
要做到这一点:
然后确保他们使用的视角不会尝试显示层次结构;任何这样做的尝试都会导致客户端错误,因为毫无疑问,您的多维数据集具有引用这些成员的各种互连查询。
此外,任何引用这些成员的计算都会引起摇摆不定;权限在计算之前进行评估,因此您应该删除这些计算,或者采用在生产中将多维数据集的ScriptErrorHandlingMode属性设置为IgnoreAll的次优解决方案。
小方注意:视角不是用于安全性,而是用于演示。因此,如果您不希望您的用户在某个视角中看到您已被屏蔽的内容,请记住他们可以通过其他方式查看它们,例如通过使用MDX,或使用忽略透视图的客户端功能。
其他一点注意事项:有些人认为这种程度的安全性是客户端问题。我不同意。