我有一个带有一个名为Projects的表的SSAS表格立方体,其中包含诸如Project_Managers、Special_Projects等列。
Special_Projects是一个布尔列,其值为1或0,它说明项目是否标记为特殊。
我在这个SSAS表格立方体中实现了基本的RLS,我已经创建了一个角色--“PMs具有访问特殊项目的权限”。现在,我尝试使用DAX从Projects表中选择Special_Projects=1中的行
我已经尝试过一些DAX公式,比如CALCULATETABLE()和EVALUATE(),但是它们没有起作用。
发布于 2020-01-04 20:18:26
项目表上的行级安全筛选器应该是:
=Projects[Special_Project]
这些过滤器应该返回一个布尔值,并且表达式为true的行对用户是可见的。
上面的假设列是布尔型的,就像您说的那样。如果是1或0,那么尝试:
=Projects[Special_Project]=1
如果需要检查另一个表并对当前表中的列进行筛选,请尝试:
=IF(CONTAINS('vwUser',vwUser[Login],USERNAME()) ,Projects[Special_Project]=TRUE() ,Projects[Special_Project]=FALSE())
这应该会向vwUser表中的用户显示特殊项目,而向不显示在该表中的用户显示其他项目。
https://stackoverflow.com/questions/59568675
复制相似问题