在 SSAS 数据库中,我使用维度“代理”和“活动”。大约有十个机构,每个机构大约有 2000-5000 个活动。要求是在代理级别授予用户权限。当用户的角色仅允许代理机构 1 使用时,他不能查看除代理机构 1 的广告系列之外的任何其他广告系列。
当然,这可以通过简单地授予属于机构 1 的活动成员的角色访问权限来完成。为此需要一个非常长的 MDX 语句。但是,我想这种情况很常见,我发现了一些方法,但我不知道哪个是一个好习惯:
- 在代理机构和活动之间使用不真实的事实(这似乎没有必要,因为活动表中有一个agengyID)
- 在通过父机构成员选择活动的活动权限中使用 MDX 语句
- 在机构和活动之间建立层次结构(实际上我尝试过,这似乎是合乎逻辑的事情,但层次结构似乎根本不处理许可)
- 也许完全不同的东西?