第2章 Kimball维度模型技术概述(三)

本章接第2章 Kimball维度模型技术概述(二)

多种货币事实

以多种货币单位记录财务事务的事实表行应该包含一对列。其中一列包含以真实币种表示的事实,另外一列包含同样的,但以整个事实表统一的单一标准币表示事实。标准币种在ETL过程中按照规则的货币转换规则建立。该事实表必须有一个货币维度用于区分事务的真正货币。

多种度量事实单位

某些业务过程需要同时以多种单位表示。(如:供应商可能需要对相同事实以平台、船运、零售以及单个扫描单元构建报表。)这种事实表可按照不同用户的观点部署,使用适当选择的转换系数。转换系数必须存储在事实表行中以确保计算简单正确,并尽量降低查询复杂性。

年-日事实

商业用户在事实表中通常需要年-日(year-to-date,YTD)值。一种更可靠、可扩展的处理这些请求的方法是在BI应用或OLAP多维数据库中计算YTD矩阵,而不是在事实表中查出YTD事实。

多遍SQL以避免事实表间的连接

BI应用绝不应该跨事实表的外键处理两个事实表的连接操作。在关系数据库中,控制此类连接操作的回答集的基数是不可能的,将会产生不正确的结果。

针对事实表的时间跟踪

存在三种基本事实表粒度:事务级别、周期快照和累积快照。个别情况下,在事实表中增加行有效时期、行截止日期和当前行标识是非常有用的,与采用类型2缓慢变化维度,在事实行有效获取时间的方式类似。

迟到的事实

迟到事实是指如果用于新事实行的多数当前维度内容无法匹配输入行的情况。当迟到度量事件出现时,必须搜索相关维度以发现有效的维度键。
高级维度技术

维度表连接

维度表可以包含到其他维度表的引用。此类关系可以采用支架维度建模实现,如果通过将支架表中的外键放入事实表中而不是放置在基本维度表中,降低维度表之间的关联,则此类增长通常可被避免。

多值维度与桥接表

经典维度模式中,每个与事实表关联的维度都有一个与事实表粒度一致的单一值。(如:某个病人接受了一次健康体检可能同时出现多个诊断。在此情况下,多值维度必须通过一组维度键通过桥接表使一组中的每个诊断与事实表一行关联。)

随时间变化的多值桥接表

多值桥接表可能需要基于缓慢变化类型2维度。(如:实现银行账户与单独客户的多对多关系的桥接表,通常必须基于类型2的账号与客户维度。为防止账户与客户之间的不正确连接,桥接表必须包含有效期和截止日期/时间戳,请求的应用必须约束桥接表,使其满足特定时刻以产生一致的快照。)

标签的时间序列行为

数据仓库中几乎所有文本都是维度表中的描述性文本。数据挖掘客户聚类分析通常产生文本化的行为标签,通常可以用作区分周期。

行为研究分组

有时可以通过执行多次迭代分析,来发现复杂的客户行为。在此情况下,将行为分析嵌入到BI应用,以约束所有客户维度成员,获取复杂的行为,这样的做法是不实现的。复杂行为分析的结果,可以通过某些简单表获取,这些表称为研究分组,仅包含客户的持久键。

聚集事实作为维度属性

商业用户通常对基于聚集性能度量的客户维度感兴趣,(如,过滤去年或整个阶段所有花费超过一定数额的客户。)选择聚集事实可以放入作为约束和作为行标识报表的目标维度。度量通常表示为维度表中的带状范围。维度属性表示聚集性能度量将增加ELT处理负担,但是可以方便BI应用层的分析功能。、

动态值范围

动态值范围报表由一系列报表行头组成,这些报表行头为目标数字化事实定义了范围不断变化的集合。(如:从0到¥10的平账,从¥10.01到¥20的平账等等)

文本注释维度

与其将自由注释作为事实表的文本度量,不如将它们存储于事实表之外的不同的注释维度,使该注释维度对应事实表中的一个外键。

多时区

为在多时区应用中获得通用标准时间以及本地时间,应该在受影响的事实表中设置双外键,用以连接两个不同角色的日期(和可能的当天时间(time-of-day))维度表。

度量类型维度

当事实表每行包含一长列稀疏存储的事实时,可以建立度量类型维度,通过度量类型维度将事实表行变成单一通用事实。

步骤维度

序列过程通常在事务事实表中用不同行表示过程中的每一步。

热交换维度

当同一个事实表与相同维度的不同拷贝交替搭配时,可使用热交换维度。

抽象通用维度

一些建模者喜欢使用抽象通用维度。(如:他们的模式包含单一通用位置维度而不是关于商店、仓库和客户维度的嵌入式的地理属性。)在维度建模时应尽量避免使用抽象通用维度。数据抽象可以适当运用于操作型源系统或ETL处理,但对查询性能有负面影响,并会对维度模型的易读性带来负面影响。

审计维度

当事实表是在ETL之后建立时,建立包含当时已知的ETL过程元数据的审计维度是很好的方法。简单的审计维度行可包含一个或多个数据质量的基本标识,也许来自对错误事件模式的检验,记录数据处理是发现数据质量问题。

最后产生的维度

有时来自操作型业务过程的事实在关联维度内容前,以分钟、小时、天或周产生。(如:在实时日期发布环境下,订单消耗行可能会到来,显示客户提交的购买特定商品的自然键。)在实时ETL系统中,该行必须提交到BI层,即使客户或产品还不能立即确定下来。此情况下,将建立特殊的维度行,包含作为属性的未分解的自然键。

特殊目的模式

异构产品的超类与子类模式

金融服务与其他商业通常提供不同业务类型的广泛的产品。(如:零售银行可以提供许多不同类型的账目,从支票账号到抵押贷款到商业贷款,所有这些都是账户实例。)不能建立单一的、固定的事实表,将所有可能的事实都包含在内,因为存在大量的不兼容事实和属性。解决方案是建立单一的超类事实表,该事实表遍历所有账户类型的事实表(以及包含公共属性的超类维度表),然后系统化地为不同子类建立不同的事实表(与维度表关联)。超类与子类事实表也被称为核心或自定义事实表。

实时事实表

实时事实表需要比传统的夜间批处理过程更频繁地被更新。有许多技术可用于支持这一需求。采用何种技术要考虑最后部署到BI报表层的DBMS或OLAP多维数据库的能力。(如:“热分区”可定义一个事实表占用专用物理内存。不用再在该分区上建立聚集和索引。其他DBMS或OLAP多维数据库可能支持延迟更新,允许已存在的运行完毕的查询,仍然可执行更新。)

错误事件模式

数据仓库中数据质量的管理需要一个综合性系统,管理数据质量通过屏幕或过滤器来实现,用于测试从源系统到BI平台的数据。当数据质量屏幕检测到错误时,该事件将被记录在特殊的维度模式中。该维度模式仅能被ETL后端处理系统处理。这一模式包含错误事件事实表,其粒度为单独错误事件和相关错误事件详细事实表,相关错误事件详细事实表粒度为参与错误事件的每个表中的列。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,490评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,581评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,830评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,957评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,974评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,754评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,464评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,847评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,995评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,137评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,819评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,482评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,023评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,149评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,409评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,086评论 2 355

推荐阅读更多精彩内容

  • 内容承接 第2章 Kimball维度模型技术概述(一) 下钻 下钻是商业用户分析数据的最基本的方法。下钻仅需要在查...
    小冕阅读 650评论 0 0
  • 收集业务需求与数据实现 开始维度建模工作前,需要理解业务需求,作为基础的源数据的实际情况。通过与业务代表交流发现需...
    小冕阅读 689评论 0 0
  • 1.维度模型设计过程 确定业务过程业务过程是组织完成的操作型活动,例如,获得订单、处理保险索赔、学生课程注册或每个...
    冰菓_阅读 1,028评论 0 4
  •  数据建设,解决的目标就是从数据源头到数据价值实现的全链路工作,我们把这个链路比作有机蔬菜的商业化实现。那么,数据...
    别停下思考阅读 3,761评论 0 3
  • 一. 维度表技术基础 1.1 维度表结构   每个维度表都包含单一的主键列 。维度表的主键可以作为与之关联的任何事...
    只是甲阅读 1,549评论 0 2