我有一个SSAS多维(MOLAP)多维数据集的数据源,该多维数据集有一个名为RegionId
的列,其值为
1, 2, 3 or 4
然后我在SSAS中有一些用户角色,我想限制用户在一个度量值组中看到的数据,只有一个RegionId,即1。
示例:
RegionId = 1, Week = 1, Value = 500
RegionId = 1, Week = 1, Value = 700
RegionId = 2, Week = 1, Value = 300
RegionId = 3, Week = 1, Value = 500
如果Region 1
用户要在多维数据集中查看此数据并按Week = 1
对数据进行分组,那么他们应该会看到总共700 + 500 = 1200
而不是所有地区的总数。< / p>
有一种方法可以限制他们可以在dimension
中选择的数据,但如果他们只使用时间维度,那么他们会在measures group
中看到与其特定内容无关的值区域。
我相信这种事情被称为row level security
?但是我还没有找到一个明确的方法为多维立方体做这个,只有Tabular ..我没有使用。
任何人都知道如何实现这一目标?轻松使用角色权限设置?可以使用某些MDX在角色的单元格数据选项卡中完成吗?如果是的话,请你提供一个例子吗?
答案 0 :(得分:1)
如果您按照此处的说明检查可视总计框,您的多维数据集将仅返回与地区相关的数据:http://easyroles.com/2014/02/visual-totals-in-ssas-security/
答案 1 :(得分:1)
正确。 Region维度仍然在概念上存在,但其当前成员是“All Region”成员 - Region维度上的安全性的Visual Totals仍然为“All Region”成员启动。
因此,即使未在MDX查询中明确使用Region,度量组中的行也将按区域维度上定义的安全性进行过滤。