数据仓库—维度建模—维度表设计

news2025/5/25 20:17:06

维度表

维度表(Dimension Table)是数据仓库中描述业务过程中各种维度信息的表,用于提供上下文和描述性信息,以丰富事实数据的分析

维度表是维度建模的灵魂所在,在维度表设计中碰到的问题(比如维度变化、维度层次、维度一致性、维度整合和拆分等)都会直接关系到维度建模的好坏,因此良好的维表设计就显得至关重要,今天就让我们就一起来探究下关于维表设计的相关概念和一些技术。

前面我们介绍了数仓建模中的事实表,具体可以见数仓建模—事实表,除了事实表之外,我们也提到了宽表,可以看数仓建模—宽表的设计,今天我们介绍一下数仓中的维度表,以及在维度表设计和开发过程中,容易遇到的一些问题,开始之前我们先看一下如何识别维度,也就是什么是维度,只有正确的识别出维度,我们才能设计出维度表。

识别维度

在实际维度建模过程中,我们首选需要解决的问题就是到底哪些是维度或者什么事维度,维度的定义是什么,其实维度的定义很见到就是我们看待事物的角度,或者是我们衡量事实的粒度。

其实关于什么是维度,每个人都能回答出几个答案

  • 维度是描述事实的场景

  • 维度是字符串,事实是数字

  • 维度是数据分析的入口

  • 维度是数据的灵魂

  • 维度是描述事实的上下文

  • 维度是可group by的分组的

  • 维度是可写where限制条件的

在实际维度建模过程,清晰识别维度是非常关键,维度是数据分析的入口,保证数据仓库模型通用性、易用性和回答业务用户范围前提条件之一。

kimball认为,维度建模首先会将现实情况划分为测量和上下文开始,通常将指标的度量称之为“事实”,将产生度量的环境称之为“维度”。

度量离开了维度或上下文也没有意义的,如给一个数字 960,我们是无法知道这个数字的意义。

image-20210928161629562

但是,一旦给这个度量添加了上下文,其就有了意义,例如我国的国土面积是960万平方公里,其实这里还反映了一个问题那就是单位,既然是度量那就会有度量单位,所以我们在数据分析的时候要做一些操作例如单位的转换。

维度是事实的上下文,没有维度的事实是没有意义的,或者说是维度是我们看待数据的视角,下面我们还是通过一个小的例子,来看一下

“昨天早上张三在京东花费200元买了一个书包”, 这里时间维度(昨天早上)、地点维度(京东)、商品维度(书包)

维度是数字的主体,例如这里什么是960,中国的国土面积是960万平方公里,数字是维度的度量。

维度表

前面了解了如何识别维度,下面我们看一下维度表。

维度表一般为单一主键,在ER模型中,实体为客观存在的事物,会带有自己的描述性属性,属性一般为文本性、描述性的,这里的客观存在的事物和它的描述就是维度,这也就是为什么维度本身也会带有度量的原因,例如我们的用户的年龄是存放在维度表中的,而不是事实表,虽然它是一个度量。

维度建模的核心是数据可以抽象为事实和维度,维度即观察事物的角度,事实某一粒度下的度量词。

每个维度表都包含单一的主键列。维度表的主键可以作为与之关联的任何事实表的外键,维度表通常比较宽,是扁平型非规范表,包含大量的稳定的文本属性和数值属性。

维度表设计

维度的设计过程就是确定维度属性的过程,如何生成维度属性,以及所生成维度属性的优劣,决定了维度是用的方便性,成为数据仓库易用性的关键。

数据仓库的能力直接与维度属性的质量和深度成正比,其实这句话说明了维度表的重要性,维度设计的不好,数仓的数据服务能力就不好,具体表现为数据不准确、

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1593200.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为海思数字芯片设计笔试第二套

1.声明 下面的题目作答都是自己认为正确的答案,并非官方答案,如果有不同的意见,可以评论区交流。 这些题目也是笔者从各个地方收集的,感觉有些题目答案并不正确,所以在个别题目会给出自己的见解,欢迎大家讨…

计算机网络----第十三天

DNS协议和文件传输协议 DNS: 含义:用于域名和IP地址的互相解析 DNS域名: 背景:通过IP地址访问目标主机,不便于记忆 域名的树形层次化结构: ①根域 ②顶级域:主机所处的国家/区域&#xf…

mac 配置前端开发环境brew,git,nvm,nrm

我的电脑是mac 3 pro 一、配置Homebrew 打开终端,执行指令 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"查看版本 brew -v 安装nvm brew install nvm 再执行 brew reinstall nvm 我这边安装好了…

elasticSearch从零整合springboot项目实操

type会被弃用 ,就是说之后的elasticSearch中只会存在 索引(indices) 和 一行(document) 和字段(fields) elasticSearch 和solr的区别最大的就是 es对应的 是 json的格式 。 solr有xml和josn等…

2024mathorcup妈妈杯C题数学建模无水印高质量论文新鲜出炉

以下展示部分正文内容:完整内容见文末名片 添加图片注释,不超过 140 字(可选) 添加图片注释,不超过 140 字(可选) 添加图片注释,不超过 140 字(可选) 添加图片…

全新付费进群系统源码 带定位完整版 附教程

搭建教程 Nginx1.2 PHP5.6-7.2均可 最好是7.2 第一步上传文件程序到网站根目录解压 第二步导入数据库(dkewl.sql) 第三步修改/config/database.php里面的数据库地址 第四步修改/config/extra/ip.php里面的域名 第四步设置伪静态thinkphp 总后台账…

ML在骨科手术术前、书中、术后方法应用综述【含数据集】

达芬奇V手术机器人 近年来,人工智能(AI)彻底改变了人们的生活。人工智能早就在外科领域取得了突破性进展。然而,人工智能在骨科中的应用研究尚处于探索阶段。 本文综述了近年来深度学习和机器学习应用于骨科图像检测的最新成果,描述了其贡献、优势和不足。以及未来每项研究…

哈希函数算法

概述 为了实现哈希集合这一数据结构,有以下几个关键问题需要解决: 哈希函数:能够将集合中任意可能的元素映射到一个固定范围的整数值,并将该元素存储到整数值对应的地址上。冲突处理:由于不同元素可能映射到相同的整…

干货 | 百亿节点,毫秒级延迟,基于nebula的大规模图应用实践

背景 2017年9月携程金融成立,在金融和风控业务中,有多种场景需要对图关系网络进行分析和实时查询,传统关系型数据库难以保证此类场景下的关联性能,且实现复杂性高,离线关联耗时过长,因此对图数据库的需求日…

TypeScript 忽略红色波浪线

👨🏻‍💻 热爱摄影的程序员 👨🏻‍🎨 喜欢编码的设计师 🧕🏻 擅长设计的剪辑师 🧑🏻‍🏫 一位高冷无情的全栈工程师 欢迎分享 / 收藏 / 赞 / 在看…

【noVNC】使用noVNC实现浏览器网页访问vnc(基于web的远程桌面)

1.VNC本身提供的http连接方式,可传输文件,画面有卡顿,需要安装jre 2.noVNC访问方式,不可传输文件,画面较为流畅,不用安装插件运行环境 一、noVNC 是什么 Web 端的Vnc软件,通过noVNC&#xff0…

计算机体系架构

冯诺依曼架构 我们编写的程序存储在哪里呢?CPU内部的结构其实很简单,除了ALU、控制单元、寄存器和少量Cache,根本没有多余的空间存放我们编写的代码,我们需要额外的存储器来存放我们编写的程序(指令序列)。…

逆向案例十六——简单webpack逆向,财联社信息

网址链接:财联社A股24小时电报-上市公司动态-今日股市行情报道 数据包sign参数为加密,可以直接搜索找参数的位置,搜索不到的情况下,在断点跟栈: 确定js文件所在位置,并打上断点。 点击加载刷新页面。可以发…

阿里云部署LAMP环境搭建门户网站

目录 数据库配置 1、在账号管理页面,单击创建账号,输入数据库账号名称选择普通账号,输入密码后确认创建 2、在创建数据库面板中,创建数据库,输入数据库名称,选择上一步创建的账号,选择要授予账…

第6章 6.4.1 案例一:爬取亚洲各地区的实时时间(MATLAB入门课程)

讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 本案例将引导大家爬取亚洲各地区的实时时间。我们将从下面这个网…

【攻防世界】supersqli(堆叠注入)

进入题目环境,有输入框与注入参数,推测类型为SQL注入: 测试--注入类型为数字型还是字符型,构造payload:?inject1 or 12 并提交: 发现页面依然正常,说明注入类型为字符型,则继续检查…

matplotlib_vs_ggplot2

参考博客 https://markusdumke.github.io/articles/2017/11/make-matplotlib-look-like-ggplot/#exactline theme_bw.mplstyle # ggplot style with white background # adapted from http://www.huyng.com/posts/sane-color-scheme-for-matplotlib/patch.linewidth: 1 patch…

Vitis HLS 学习笔记--ap_int.h / ap_fixed.h(1)

目录 目录 1. 概述 2. 简要规则 3. 浮点运算的复杂性 2.1 对阶 3.2 尾数运算 3.3 规格化和舍入 3.4 特殊值的处理 4. 示例(ap_fixed.h) 5. 量化模式(ap_fixed.h) 5.1 AP_SAT* 模式会增加资源用量 1. 概述 ap_int.h 和…

CTFshow电子取证——内存取证2

接上回 JiaJia-CP-2 2.佳佳在网页上登录了自己的邮箱,请问佳佳的邮箱是? 因为是在网页上登陆的邮箱 用iehistory插件 查看一下网页历史记录 为了方便分析,使用grep命令正则匹配一下 **com 的记录 vol.py -f JiaJia_Co.raw --profileWin…

【ELK】ELK企业级日志分析系统

搜集日志;日志处理器;索引平台;提供视图化界面;客户端登录 日志收集者:负责监控微服务的日志,并记录 日志存储者:接收日志,写入 日志harbor:负责去连接多个日志收集者&am…