SSAS多维数据集按角色

时间:2015-09-07 15:55:20

标签: sql ssas sql-server-data-tools

我有一个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在角色的单元格数据选项卡中完成吗?如果是的话,请你提供一个例子吗?

2 个答案:

答案 0 :(得分:1)

如果您按照此处的说明检查可视总计框,您的多维数据集将仅返回与地区相关的数据:http://easyroles.com/2014/02/visual-totals-in-ssas-security/

答案 1 :(得分:1)

正确。 Region维度仍然在概念上存在,但其当前成员是“All Region”成员 - Region维度上的安全性的Visual Totals仍然为“All Region”成员启动。

因此,即使未在MDX查询中明确使用Region,度量组中的行也将按区域维度上定义的安全性进行过滤。