BI数据级权限解决方案2

  • 格式:docx
  • 大小:97.56 KB
  • 文档页数:2

BI数据级权限解决方案
内容摘要:这篇文章主要就是讲述基于SQL Server架构的BI数据级权限的解决方案,这也是我给一个德国大型跨国企业客户实施其BI项目中,对方非常重视的一个功能。

所有的设置界面都是Sharepoint Webpart(请参见相关内容)
Webpart中的ajax(这个要单独拿出来说,是因为这个部分比较麻烦),需要用到ajax的原因就是Cube 的结构是很大的,如果一次性读出来,肯定是等到花儿也谢了,相信没有人会用他。

后台可以控制哪些维度需要设置数据权限(有些维度不需要设置数据权限,那么就不让他在ajax树中展示出来了)
有自定义的角色,这个角色不同于刚才讲的Cube中的角色。

这是用户自己定义的数据权限角色,刚才的角色只需要那一个就足够了。

有了角色自然有搜索、设置用户、设置角色的数据权限、编辑、删除
这个都可以根据你的需要进行设计,不一定要完全相同,就比如我用了ajax树来展示Cube结构,但是你可以采用别的方式。

下面我们就进入下一个重要话题,就是读取Cube的结构(其实在读取这个结构本身,前面的数据权限就已经开始起作用了,没有权限访问的数据不会出现在ajax树中)。

设置数据权限时,如何读取Cube结构
读取Cube的结构,微软已经提供了一套非常丰富的类库给我们。

这里就简单介绍下,如果你在具体实现过程中遇到了问题,相信上Google是一个最好的办法。

下面我们介绍读取Cube结构的具体内容,首先就是连上你的Cube。

这主要通过如下语句完成。

AdomdConnection adomdConnection = new AdomdConnection();
adomdConnection.ConnectionString = “Data Source=localhost;Catalog=MyCube;”; adomdConnection.Open();
// 这里读取具体的Cube结构
adomdConnection.Close();
adomdConnection.Dispose();
在连上Cube之后,通过adomdConnection可以读取整个Cube了。

主要涉及到如下内容:
Cube:CubeDef cube = adomdConnection.Cubes[“MyCubeName”];
Dimension:cube.Dimensions,这里面是所有的Dimension。

Hierarchy :dimension.Hierarchies ,所有的层次
Member :hierarchy.Levels[0].GetMembers(),所有成员 通过以上几个内容就可以把整个Cube 的结构完全展现出来,有了他们,就看你怎么展示你的
Cube 数据了。

当然了,首先我们不能忘了添加
一个引用:
Microsoft.AnalysisServices.AdomdClient 结束语
到这里为止,我介绍了BI 数据权限解决方案中涉及到的最重要的
内容,
基于这些内
容,
你可以实现
自己的BI 数据权限解决方案,并且把
它应用到你

项目中去,从而给你的项目添上亮点。

当然了,实现整个解决方案还是需要花费很多时间的,毕竟对用户来说,他们需要一
个简单易用的结果。

这些友好的界面工作都需要
留给你来做。

2011
一月
1
30 31
11 12 13 14 15 9 10 23 24 25 26 27 28 29 3 4 5 6 7 8 2 16 17 18 19 20 21 22 日 一 二 三
四 五 六
二月
日 一 二 三
四 五 六
7 8 9 10 11 12 6 15 16 17 18 1913 14 20 21 22 23 24 25 26 1 2 3 4 5
27 28
三月
日 一 二 三
四 五 六
7 8 9 10 11 12 6 15 16 17 18 1913 14 20 21 22 23 24 25 26 1 2 3 4 5
27 28 29 30 31。