【发布时间】:2020-01-24 10:53:53
【问题描述】:
我才刚刚开始使用 DAX 和表格建模,因此如果有任何帮助/建议,我将不胜感激。
我创建了我的第一个模型,并希望创建动态安全角色。 我已经在一个简单的范围内实现了这一点,如果我想检查我创建的安全表和我的过滤表,它会检查列是否匹配 - 并且只返回那些匹配的列的结果。
例如: 我的安全表称为 ReportAccessPermissions 该表当前包含域登录、emp id、销售区域、与该员工对齐的不同领导信息。它看起来像这样:
ID Domain Mgr1ID Mgr2ID MGr3ID SalesRegion
1234 TEST\user1 2222 NULL NULL NULL
1234 TEST\user1 NULL 5555 NULL NULL
1234 TEST\user1 NULL NULL NULL APJ
1234 TEST\user1 NULL NULL NULL EMEA
当我针对 EMP 表添加过滤器时 - 因为我只想过滤并返回具有相同销售区域的用户,所以我一直在使用它,我已经对此进行了测试,它似乎运行良好。
='EMPLOYEE'[SalesRegion]= LOOKUPVALUE ('ReportAccessPermmisions'[SalesRegion],'ReportAccessPermmisions'[DomainLogin],USERNAME(),'ReportAccessPermmisions'[SalesRegion],'EMPLOYEE'[SalesRegion])
但是,我还希望能够过滤领导信息。这样我就可以对照 emp 表检查销售区域和领导信息。是否可以通过一个 DAX 查询查找来做到这一点?还是我需要为每个列检查创建单独的角色?
理想情况下,我不希望为模型创建大量安全角色,因为我认为随着创建更多模型、添加用户和应用过滤器,对它的维护将是令人发指的。我希望是否可以创建一个角色,但让它检查此安全表中的不同列,然后才针对 emp 表返回相同的结果。
谢谢你, P
【问题讨论】:
标签: sql sql-server ssas dax tabular