注意:本帖截图中使用的BI工具为微软SQLServer2005 AnalysisServices;示例多维数据集是从SQLServer2000自带数据库"FoodMart"加工后导入到SQLServer2005中,然后进一步加工为多维数据集;而最后两张前端展示工具截图为第三方软件,如果使用ReportingServices效果与第三方软件类似。
在SQLServer2005的AS服务中,对数据权限的设定步骤如下:
一、新建角色
在AS项目的解决方案资源管理器中,右键点击“角色”,选择“新建角色”。
二、“常规”标签页
“常规”标签页不需要特别设定,保持默认状态。
三、“成员身份”标签页
在此添加域用户或者服务期本机用户。
四、“数据源”标签页
在此页将数据源的“访问”权限设定为“读”
五、“多维数据集”标签页
在此页将多维数据集的访问权限设定为“读”。将“本地多维数据集/钻取访问”设定为“钻取”。
六、“单元数据”标签页
此页设置读取权限需要使用MDX语法撰写,一般不需要在此界面设定,保持默认。
七、“维度”标签页
此页设置对某个维度整体的权限设置,例如能够访问某个维度,不能够访问某个维度,而不能设定对维度某个成员的设置,所以一般此页的设定是将所有维度都设定为“读”。
八、“维度数据”标签页
此页是设定数据权限的重点,在此页可以设定维度成员的数据权限(例如可以设定一个用户只能看到某个部门的数据,不能看到其他部门的数据)。
1、首先在“维度”下来框中选择维度,点看下来框后如图:
下拉框列表中会有两组选项,上面一组,图标为,是整个数据库的共享维度组;下面一组,图标为
,是针对某一个多维数据集的维度组。注意,我们应该在下面一组的针对某一个多维数据集的维度组中设置权限。如图:
2、然后在“基本”标签页中的“属性层次结构”下来框中选择要设定权限的属性。
3、选择单选框“取消选择所有成员”
4、在维度成员复选框中选择用户允许访问的成员。
5、在“高级”标签页中,将左下角的“启用直观合计”复选框选中。
九、“挖掘结构”标签页
此页保持默认。
十、重新处理多维数据集
十一、 在前端展示中以设计者身份设计报表,或者是使用ReportingServices设计报表时(即使用大权限的用户查看报表时),可以看见所有的维度成员。
十二、 以刚才在OLAP中设定权限的用户登录前端展示工具,或者使用ReportingServices查看同一张报表时,只能看到授权的数据。