我们有一个包含几个 Fact 表和几个 Dim 表的表格模型。我们希望管理角色,以便特定角色将无法看到维度内某个属性的成员。
因此,在具有“工作时间”度量的 HR 多维数据集中 - 我想阻止特定角色查看“员工姓名”属性,但仍向总员工显示“工作时间”的总和。
在使用多维时,我只是使用了一个 MDX 表达式,它过滤维度的“全部”成员,从而显示总数而不是属性的成员。不知道如何在表格模型中这样做。
有人遇到过类似的要求吗?谢谢!
我们有一个包含几个 Fact 表和几个 Dim 表的表格模型。我们希望管理角色,以便特定角色将无法看到维度内某个属性的成员。
因此,在具有“工作时间”度量的 HR 多维数据集中 - 我想阻止特定角色查看“员工姓名”属性,但仍向总员工显示“工作时间”的总和。
在使用多维时,我只是使用了一个 MDX 表达式,它过滤维度的“全部”成员,从而显示总数而不是属性的成员。不知道如何在表格模型中这样做。
有人遇到过类似的要求吗?谢谢!
是的,表格模型不会让您选择禁用“视觉总计”。所以这并不容易做到。但是,如果你有创意,你就可以做到。如果您记得计算的列是在没有安全性的情况下在处理时计算的,那么您可以提前存储您需要的汇总。将这些汇总存储在用户可以读取它们的地方,即使安全有效。在这种情况下,您可能需要将汇总放在一个单独的表中,与员工分开,因为该表中的所有行都将被隐藏。这是完整的文章: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])
)
这里的逻辑是,如果您的用户看不到任何员工,则不要启用该关系。如果您的用户可以看到员工,则启用该关系。