1. Frame Work Manager建模的准备工作
1.1. 剖析问题
Framework Manager元数据建模工具是IBM Cognos8的最重要的组件之一。一个模型又是基于一个或多个数据源的业务信息集合(物理表以及表之间的联系、安全等),为IBM Cognos8生成查询。模型的性能好坏直接决定报表查询性能,因此建模者需要有一定的FM功底。
在开始建模之前建模者一定会做前期准备工作:理解需要解决报表问题和业务相关的数据源,并制作标准的需求文档(用于归档)。如不能定位以下疑问,就必须与客户进行长期反复的沟通:
1.1.1. 建模者和用户之间是否就报表需求达成一致?
如:性能、安全和如何更好的组织并结合query items与 filters
1.1.2. 数据源是否包含了你所需要的元数据?
如:理解业务逻辑和数据表的对应关系;理解表的主键(PK)、索引(Index)和外键(FK),否则查询会耗时太长
1.1.1. 数据是否存在多个数据源里?
如:选择最适合你报表需求的数据源;链接到数据仓库相对而言比链接到业务数据库好
1.1.2. 表和表之间的业务逻辑关系:那个数据源表是事实表?那个是维表?那个表既是事实表又是维表?
如:一般建议做成星形模式,因为星形模型(star schema)比标准化数据库含有的表少,从而减少表关联,提高查询速度和更好的组织数据模型(后面的教程会讲解复杂的业务模型里建立合适的星形模型)。
1.1.3. 每个维度有哪些键和属性?
如:需要为每个query items设置Usage(Identifier, Attribute, Fact),为了避免double count,必须为每个表设置Determinants(在后面的教程里会专门讲解)
1.1.4. 表之间需要建立那些关联?是否存在多个关系路径?
如:如果存在多个关系路径,则需注意链接陷阱。如:转移陷阱(transitive relationship trap)、 深坑陷阱(chasm trap)、链接陷阱(connection trap)、扇形陷阱(fan trap),关于每种陷阱的处理方法将会在后面的教程里讲解。
重新审查上述问题后,不可能一步到位,还需要在实际开发过程中不断的和客户进行交流、可能会更改模型和报表、维护等。是不是马上就可以开始新建工程导入元数据开始建模了呢?为了减少工作量、规范建模和后期可能涉及到的需求变更、新开发等对报表带来的影响,我们需要事先如何建立一套完整的生命周期管理呢?
请看下一回之“1.2.开发流程管理”!