========================此文不再详细的说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中的数据的不同样式的显示,欢迎点评,共同学习!