Transform开发cube模型权限处理之不同用户数据的过滤

浏览: 3271

========================此文不再详细的说transform的开发过程======================================================

商品销售额分析的案例来简单的说一下设计过程,该案例基本可以适合于通过维度实现对不用用户访问数据的控制。

1:表结构设计:

从日期和商品类型两个角度分析商品销售额

2:多维模型设计

导入所需的三张表,一个事实表,两个维度表,插入两个Dimension,整体如图所示

截止目前,上面的多维模型基本上可以按照设计的样式访问数据了,只要有读写和遍历权限的用户都可以看到该模型的所有数据。

3:给多维模型添加权限

实现的效果就是:张三是部门经理的角色,李四是部门员工的角色,张三和李四分别登陆Cognos但是张三可以看到所有商品类型的销售额,李四只可以看给其分配的商品类型的商品的销售额。

3.1:在用户视图区域,点击Categories

3.2:在categories选择Custom Views 

3.3:在Custom Views界面创建用户视图

3.4:指定视图名称和描述

3.5:给视图添加安全用户和角色

3.6:完成部门经理视图的创建

3.7:同理创建一个部门员工的视图,返回模型界面可以看到用户视图创建OK

3.8:给视图指定数据权限

3.8.1:给部门经理指定所有商品类型的权限

3.8.2:给部门员工指定只可以看食品类商品的权限

Category的可访问属性有以下几种方式,其含义分别如下:

Exclude: 把指定类别及全部下层类别都排除,既看不见,也不参加汇总。
Cloak: 把指定类别及全部下层类别都屏蔽,全都看不见,但它们参加汇总。
Suppress: 仅把本层指定的类别屏蔽,其下层类别提升。不影响其他兄弟类别,也不影响汇总。
Summarize: 把指定类别的全部下层类别屏蔽,使它们看不见,把它们的值汇总到当前类别,当前指定的类别看上去就象是处在最低层。
Apex: 以当前类别作为本维度层次构架的顶点,即只保留当前类别及其以下的部分。旁系分支全部排除,既看不见,也不参加汇总。

 

可以看到部门员工视图/商品类型下面  服装数据已被禁用掉,OK关掉Categories回到模型设计主页面

3.8.3将用户视图拖入模型下面.OK权限设计完成。保存-生成cube-测试效果

4:测试效果

 4.1用具有部门经理角色的张三(zhangsan)登陆系统,查看模型,效果如下:

 4.2用具有部门员工角色的李四(lisi)登陆系统,查看模型,效果如下:

写到这里,目标已经实现了,不同用户访问同一个cube通过用户视图的方式实现对同一个cube中的数据的不同样式的显示,欢迎点评,共同学习!

推荐 0
本文由 kingwang 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册