http://hi.baidu.com/tokyou/item/00913c4197585633fa896017
在cognos8中,用fm建模的时候,怎么才能将一张表的一个字段分成多个层呢,我的表结构是这样的
dwbm(编号),dwmc(名称),lsdw(隶属单位),dwjb(单位级别)
420000 1
420500 420000 2
420501 420500 3
请教一下,这种结构怎么建关系,是用一张表建呢,还是分层多张表?
---------------------------
FM要這樣設計
建立一個Query Object 叫做組織一
組織一裡面要下一個FILTER叫做dwjb(单位级别) = 1
建立一個Query Object 叫做組織二
組織一裡面要下一個FILTER叫做dwjb(单位级别) = 2
建立一個Query Object 叫做組織三
組織一裡面要下一個FILTER叫做dwjb(单位级别) = 3
組織一和組織二的關係:組織一.dwbm = 組織二.dwmc
組織二和組織三的關係:組織二.dwbm = 組織三.dwmc
用這樣的設計,便可以由你的需求建立出階層關係
----------------------
这样也不行啊,我重说一下我的需求:
怎样才能将一张表的一个字段分成多个层,我的表结构是这样的
dwbm(编号),dwmc(名称),lsdw(隶属单位),dwjb(单位级别)
420000 ,'','',1
420500 ,'',420000 ,2
420501 ,'',420500, 3
想建立一个有层次关系的维度,在分析中要实现向上、向下钻取,且要在这个维度中出现“dwbm(编号),”这个字段,要与其它表(事实表)进行连接,在事实表中也有一个dwbm的字段,方便得到分析结果。
----------------------------
楼主这个问题,我们项目也遇到过,不过处理办法是给表增加一个自增id,结果是可以上下钻取,但是不可避免,1,2,3级单位也许都会在同一级别出现,像这样的问题,除非单位的业务系统是从最底层进行的,但是事实不是这样,有的是在底层公司,有的是在分公司,有的在总公司完成的,甚至有的业务是跨级别的,这样就给项目造成很大的困难。4楼的这样建表是可以的,但是业务上也许达不到要求,求高人。。。
-------------------------
不规则层级机构维度的建立
以不规则层级的机构表为例,假如总公司、分公司、支公司、营业部等都可以进行业务处理,其维度的建立如下:
(1)数据
总公司 00
|--分公司1 01
| |--支公司1 0101
| |--支公司2 0102
| |--营业部1 010201
| |--营业部2 010202
|--分公司2 02
| |--支公司3 0201
| |--支公司4 0202
|--分公司3 03
(2)机构表结构为:
deptcode 机构代码
deptname 机构名称
(3)将机构表转为为维度所需要的表
deptcode 机构代码
deptname 机构名称
level1code 总公司代码
level1name 总公司名称
level2code 分公司代码
level2name 分公司名称
level3code 支公司代码
level3name 支公司名称
level4code 营业部代码
level4name 营业部名称
(4)对数据的处理
机构代码 名称 一级代码 名称 二级代码 名称 三级代码 名称 四级代码 名称
总公司 00 00 总公司
分公司1 01 00 总公司 01 分公司1
支公司1 0101 00 总公司 01 分公司1 0101 支公司1
支公司2 0102 00 总公司 01 分公司1 0102 支公司2
营业部1 010201 00 总公司 01 分公司1 0102 支公司2 010201 营业部1
营业部2 010202 00 总公司 01 分公司1 0102 支公司2 010202 营业部2
分公司2 02 00 总公司 02 分公司2
支公司3 0201 00 总公司 02 分公司2 0201 支公司3
支公司4 0202 00 总公司 02 分公司2 0202 支公司4
分公司3 03 00 总公司 03 分公司3
注意:总公司从二级开始,代码、名称为空,对分公司从三级开始,支公司四级为空,树状结构,就能正常显示不规则层级结构了。如果总公司二、三、四级都填上00,分、支公司同样处理,在下拉分公司层时,会出现总公司,同样支公司层级会出现分公司,这种结构不符合实际情况。故要进行上述处理。
(5)对维度的理解
事实表Fact1,机构表TDept,机构维度DDept(其名称为机构),Tdept与Fact1一对多关系。在cognos 8.3中,报表增加提示页面,拖入树状提示页,参数为v_deptcode,选机构维度,操作符为in,Cognos显示的值是机构维度的名称,报表生成的过滤条件为[机构维度].机构 in (v_deptcode),由于机构维度中并没有出现机构代码,上述与维度关联的条件难以理解,可以理解为树状机构选中的节点(不是叶子节点)对应到Tdept表中,Tdept表与Fact1关联,形成正确的Sql语句。
(6)对Sql的困惑
Cognos很强大,但隐藏的Sql生成机制使开发人员困惑,有时关联关系、提示页面生成的数据并不是我们所需要的,如何查看提交给数据库的Sql语句呢?使用Oracle的Sql Monitor,无法跟踪。
不知各位是如何解决这个问题的。
------------------
可以的 分层可以这样来分。例如先把1层的做一个query然后把2层的做一个query以此类推(有个前提是:你的层的固定的)最后做层之间的关系就OK了
分享到:
相关推荐
BIEE 11.6版本 父子维设计及父子维权限设计
QlikView的父子维度的使用与建立的.qvw文件。与大家共同学习进步
详细介绍怎么建父子维,本人为这问题困扰了很久,所以共享一下文档给大家
在BIEE中间层利用关系表建立维度,从而在前端实现钻取功能。 文档中创建的维度为时间维度,其他维度创建方法类似。
Bootstraptable建立父子表 detailView: true 的折叠使用
父子窗口部件的建立
本Demo是基于VS2010 c++的通过父子节点的节点号来查出当前节点所有上级节点和下级节点 1.包含MySql库,工程可用可测,可直接用于项目开发。 2.Demo中提供数据库表模型。 3.支持查出当前节点所有上级节点和下级节点
NULL 博文链接:https://lgcjava.iteye.com/blog/2001524
FTP协议父子连接
HTML编码中,利用了Vue框架,在该框架下父子组件直接经常需要进行数据传递
Reporting Service 下拉菜单,与父子维表报表设计. 分为脚本及项目文件
oracle 如何递归查询父子关系。经常用于构造树结构
父子节点创建树问题博客源码,父子节点创建树问题博客源码,父子节点创建树问题博客源码。
父子类借口设计简单
模拟UITabBarController 的父子控制器效果,实现父子控制器管理
list父子节点转树json,大家也可以结合我的博客查看,下载以后可以直接应用 博客地址为:https://blog.csdn.net/qq_25814003/article/details/80519421
pyqt父子窗口相互传值 pyqt信号槽的使用 对新手可能有帮助
SpringCloud分布式微服务项目搭建构造父子模块依赖与实现服务提供者与消费者示例 SpringCloud分布式微服务项目搭建构造父子模块依赖与实现服务提供者与消费者示例 SpringCloud分布式微服务项目搭建构造父子模块依赖...
girdview girdview应用 girdview嵌套 父子girdview
Angular父子组件以及非父子组件之间的通讯,在实际运用中,运用的十分多。文件为基本的运用,大家相互学习。