我正在尝试创建一个角色,以限制对 Analysis Services 上多维数据集的访问,以便该角色的成员只能看到与特定国家/地区相关的记录(来自 dim_country 维度)。因此,例如,他们只能看到 dim_country 名称为“英格兰”的记录,而看不到任何其他国家的记录。
我遇到的问题是,无论我输入什么,所有记录都会被返回。当我在多维数据集连接定义中添加 Roles= 时,在 BIDS(使用测试多维数据集安全性)中和从 Excel 中进行测试时就会出现此问题。
我将非常感激任何建议。
我对角色定义进行了以下更改,并在 AdventureWorks 常规 -> 读取定义中复制它,选中
多维数据集 -> 访问 = 读取
-> 本地多维数据集/钻取访问选定的
维度数据
在客户维度上,在国家/地区
允许的成员集 = [客户]。[国家]。&[法国]
拒绝的成员集 = [客户]。[客户]。[所有客户]
启用的可视化总计 = 勾选。
正如我所说,问题是我得到的是所有值,而不是按国家/地区过滤的值
答案1
这是由 SSAS 上角色的已知问题引起的。
维度数据上的角色安全继承似乎没有继承。
我通过进入多维数据集维度数据下拉菜单并在其中添加允许成员集来解决了这个问题。这解决了这个问题。