IBM Cognos8 处理父子维度浅析
在商业智能中,将业务关系型数据库转化成一个星型的数据库结构的时候,常常会遭遇到递归关系即父子上下级的关系的困扰,SQLServer里面是支持父子维度的,它的引擎可以自动识别。但IBM Cognos则无法识别,在将父子维度引入模型的过程中,只会把其当作一个数据类型,因此解决父子维度问题是一个比较重要的问题,因为关系型数据库中充斥了大量这样的关系。
举例说明:
以下是关系型数据库的表:
Product 表
-----------------------
ID
ProductName
Parent
-----------------------
其中里面存在父子关系 ID 和 Parent
在建立维度的时候如何处理这样的关系呢?
注:假设该表只有3层上下级关系,即OnProducteID - > TwoProductID - > ThreeProductID
事实表和维度表之间需要主外键进行关联,那么事实表关联哪一个字段呢? 所以这里需要为Product维表建立一个新的主键
DimProduct 维表结构
---------------------------------
GID
OneProductID
TwoProductID
ThreeProductID
---------------------------------
事实表 Fact 与DimProduct 的主外键关联是 GID - GID
这样就解决了结构关系,下面是在Cognos8的Transformer中引入这两个表的时候,需要注意不要引入GID
对于父子维度的处理可以按照以上的方式进行,当然在SQLServer的商业智能软件中就不存在这样的问题,因为其支持这样的关系。
转载于:https://www.cnblogs.com/AflutterFeather/archive/2009/01/03/1367515.html
IBM Cognos8 处理父子维度浅析相关推荐
- 《分析服务从入门到精通读书笔记》第四章、创建父子维度(7)
目的 父子维度的不同之处在于处于其包含了一个基于递归关系(Recursive relationship)的层次关系,比如,上级和下级雇员的层次结构关系是典型的递归关系.在一线工作的雇员会有一个主管,而 ...
- 从7个维度浅析虚拟现实Alpha年
摘要:经过Oculus对市场的一番教育后,虚拟现实迎来了Alpha年.大家此前多是关注硬件,现在慢慢开始思考平台.内容与系统支持等问题.作者王元是在美国从事软件开发的工程师,他从7个维度浅析了他眼中虚 ...
- 8 关于数据仓库维度数据处理的方法探究系列——父子维
父子维度通俗的话来讲,这个表是自反的,即外键本身就是引用的主键:类似这样的关系,如公司组织结构,分公司是总公司的一部分,部门是分公司的一部分,当然如果定义得好的话员工是部门的一部分:通常公司的组织架构 ...
- COGNOS8培训之四(疑点解析)
课件提纲目录 1)商业智能BI简介 2)IBM Cognos8 介绍 3)如何使用IBM Cognos8 进行工作 4)一个简单的基于Cognos8的例子 5)疑点解析(讲解中) 6)IBM Cogn ...
- C++ exit 与 return 浅析
[摘要] 本文从代码形式.经常使用方式,相关概念,调用关系和比較分析,这5个维度浅析 exit 与 return 在C++的同样点与差别. [常见形式] exit(0): 正常执行程序并退出程序. ...
- 谈笑间学会数仓—维度表概念及设计案例
维度表 维度定义 从某个角度观察事实数据的窗口,存储的数据用来从某个角度描述事实.维度表可以看成是用户用来分析一个事实的窗口,它里面的数据应该是对事实的各个方面描述,比如时间维度表,它里面的数据就是一 ...
- 微软BI 之SSAS 系列 - 在SQL Server 2012 中开发 Analysis Services Multidimensional Project
SQL Server 2012 中提供了开发 SSAS 项目的两种模型,一种是新增加的 Tabular Model 表格模型,另一种就是原始的 Multidimensional Model 多维模型. ...
- 【备忘】Oracle商业智能BI产品OBIEE11G深入浅出全套视频教程
001.BIEE课程介绍.wmv 002.BI基础理论介绍.wmv 003.BIEE 11G安装教程.wmv 004.BIEE 11G系统管理.wmv 005.BIEE 11G Oracle数据源连接 ...
- 数据仓库工程师面试题目(不定期更新)
1 缓慢变化维的设计?(真心常问,标准答案必备) 三种:直接覆盖,增加新行,增加心属性列 Type 1:覆盖:直接用新值代替旧值. Type 2:增加新行.将当前行的状态设置为off,并设置一个end ...
最新文章
- stringbuilder 拼接语句缺失右括号_Leetcode No.22 括号生成
- PHP 使用POST 获取不到部分数据问题
- SpringBoot之Servlet、Filter、Listener配置
- VTK:图像投射用法实战
- 如何恢复ORACLE数据(冷备份)
- Oracle入门(十四.16)之捕获用户定义的异常
- Spring RESTful错误处理
- 泰坦尼克数据集预测分析_探索性数据分析-泰坦尼克号数据集案例研究(第二部分)
- JEECG 缓存用法
- mybatis 多线程_2019BATJ面试题汇总详解:MyBatis+MySQL+Spring+Redis+多线程
- 招人啦!安卓/Java/数据库/测试等一大波岗位袭来
- 左程云算法体系班笔记
- 亲爱的我把孩子放大了文案解说
- 找不到项目 该项不在计算机中,Win7删除文件夹找不到该项目怎么删除?“找不到该项目”强删方法...
- 中国医学影像工作站市场趋势报告、技术动态创新及市场预测
- 案例研究 | 瓜子二手车战略升级三部曲
- C/C++:实现精灵游戏
- 【许晓笛】EOS 智能合约案例解析(2)
- svn使用问题:SVNlicense到期问题设置SVN提交代码时必须填写日志
- TensorFlow DLL文件缺失的解决方案:cudnn64_8.dll not foundcusolver64_10.dll not found
热门文章
- C++_数据类型_算术运算符_取模运算_递增递减运算_赋值运算符_比较运算符---C++语言工作笔记014
- 微服务升级_SpringCloud Alibaba工作笔记0027---Nacos集群配置上
- Git工作笔记003---Git常用命令总结
- JAVA面试要点002_Git中fetch和pull的区别
- IOS学习笔记02---语言发展概述,计算机语言简介.
- C++中读取文件乱码问题
- C语言 输入的注意事项 EOF的应用
- 杭电2078复习时间
- mui ajax传参示例
- 机器学习与计算机视觉(sklearn快速上手)