我们有一个包含多个事实表和多个Dim表的表格模型。我们希望管理角色,这样特定的角色就不能看到维度中某个属性的成员。
因此,在具有“工作时间”度量的HR多维数据集中-我想阻止特定角色看到“员工姓名”属性,但仍然向总员工显示“工作时间”的总和。
在使用多维时,我简单地使用了一个MDX表达式,该表达式过滤维度的"All“成员,从而显示属性的总数,但不显示属性的成员。不知道如何在表格模型中这样做。
是否有人遇到过类似的请求?谢谢!
发布于 2016-02-08 05:12:32
是的,表格模型不会给你提供禁用“视觉汇总”的选项。所以这并不容易做到。然而,如果你有创意,你就能做到。如果您记得计算列是在没有安全性的情况下在处理时计算的,那么您可以提前存储所需的汇总。将这些汇总存储在用户可以读取的地方,即使在安全生效的情况下也是如此。在这种情况下,您可能需要将汇总放在一个单独的表中,该表与员工分开,因为该表中的所有行都将被隐藏。这是一个完整的文章:http://cathydumas.com/2012/05/19/row-security-and-hierarchiespart-1/
然而,在您的示例中,由于您希望隐藏所有Employee表行,这将导致所有相关的事实表行由于安全性而消失。所以这是我的建议。首先,禁用与Employee表的关系。其次,按照这个模式来设计你的度量模式:
Work Hours := IF(
COUNTROWS(Employee)>0,
CALCULATE(
SUM(FactHours[Work Hours]),
USERELATIONSHIP(FactHours[EmployeeKey], Employee[EmployeeKey])
),
SUM(FactHours[Work Hours])
)这里的逻辑是,如果您的用户看不到任何员工,则不要启用该关系。如果您的用户可以看到员工,则启用关系。
https://stackoverflow.com/questions/35253422
复制相似问题