首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

事实维度

事实维度 前文介绍了一维和二维的异同及相互转换 今天再来解释一下事实维度 先来看下表。回忆下,这是一维二维?...不错,“查找替换”起码比刚才那位人眼查找手工修改要强 但请记住,我们面对的不是普通的人工制表,几百行记录,查找替换耗时可忽略不计;而系统生成的一维,都是成千上万行,别说是查找替换,即便是平时双击打开一张电子表...尤其在海量流水记录面前,效率高低立判 咱们这里不搞学究,没必要死抠概念术语,尽量从理解的基础上去领悟 像这种把流水表里大量重复数据拎到一边单独存放的案例,还有很多,比如 表示时间:日期-年-月-日-季-...”,就是报表的维度 搞清了“维度”,那“事实”也就不难理解了 事实:表格里存储了能体现实际数据或详细数值,一般由维度编码和事实数据组成 维度:表格里存放了具有独立属性和层次结构的数据,一般由维度编码和对应的维度说明...(标签)组成 现实工作中,维度要设多广多深,没有固定,看具体业务场景和数据规模 比如制造业,生产现场的时间维度可能要精确到秒 再比如销售,地区维度除了省市区,可能还要加个大区概念(华北、华东等) 证券行业里

2.2K40

聊聊维度建模的灵魂所在——维度设计

前言 维度维度建模的灵魂所在,在维度设计中碰到的问题(比如维度变化、维度层次、维度一致性、维度整合和拆分等)都会直接关系到维度建模的好坏,因此良好的维设计就显得至关重要,今天就让我们就一起来探究下关于维设计的相关概念和一些技术...属性改变前的事实行和旧的维度值关联,而新的事实行和新的维度值关联。 ?...钻取分为向上钻取和向下钻取,比如对于某零售商的年度销售报表,其年度销售总额显示增长20%,那么从时间上分析是哪个季度的增长率比较高呢?...在维度建模理论中,对于上述情况通常有两种处理办法 建一个基础的维度, 此基础维度包含这些不同业务的共有属性,同时建立各自业务的单独维度以包含其独特的业务属性。...(实际操作中通常先建立两个单独的维度,然后基于单独维度生成共有的商品维度或者视图) 拆分,即不合并,即各个业务差异独特性的业务各自建立完全独立的两个维度,各自管理各自维度和属性。

1.4K40

教你用SQL生成一张带「农历」的日期维度

修改一下日历结构(在CALENDAR_INFO 中添加一个字符串格式的字段Lunar)和存储过程。...DATEADD(DAY, 1, @START_DATE),120); END END 执行存储过程 EXEC proc_calendar 2019 结果如下: 我们去查了一下日历,验证结果是正确的 日期维度作用...既然叫维度,那肯定是跟维度有关了,有了这个维度,我们可以通过多维数据集来查看不同日期维度的具体数据,特别是应用在可视化报表开发方面。...下面就是一个比较简单的Power BI报表,这里我们就使用到了日期维度中的年月。...Power BI效果图 至此,一个包含农历的完整日期维度生成了,有兴趣的小伙伴可以用MySQL或Oracle进行改写一下。

12010

MySQL 结构生成 Markdown 文档 | 工具篇

,当要将某一版本归档时,需要汇总的文档要求还是比较高的、各类文档齐全,包括项目架构、项目安装、接口等文档,而数据库结构说明文档亦属于其一。...记得很早之前想找一个可以导出 MySQL 数据库结构说明文档的工具,生态上的这种工具是有的、只不过并没有一个使我比较满足的。当然、看个人所需,我需要一个可以导出 markdown 文档的。...他只有一个功能、就是生成数据库结构说明文档,格式为madkdown。...md2rtf md2openOffice md2Epub md2latex md2MediaWiki md2reStructureText md2textile md2OPML md2png 文档页面效果 生成的...MD文件 [MySQL 结构生成 Markdown 文档] MD文件转PDF [MySQL 结构生成 Markdown转PDF 文档]

2.1K00

HAWQ取代传统数仓实践(十一)——维度技术之维度合并

新增了一个zip_code_dim邮编信息维度,sales_order_fact事实的结构也做了相应的修改。 ? 图1         zip_code_dim维度与销售订单事实表相关联。...注意老的事实与新的邮编维度是通过客户维度关联起来的,所以在子查询中需要三连接,然后用两个左外连接查询出所有原事实数据,装载到新的增加了邮编维度代理键的事实中。...product_dim; analyze sales_order_fact; analyze pa_customer_dim; -- 更新时间的...这是因为要取得邮编维度代理键,必须连接邮编代码字段,而邮编代码已经从客户维度中删除,只有在源数据的客户中保留。第二个改变是PA子维度的装载。...州代码已经从客户维度删除,被放到了新的邮编维度中,而客户维度和邮编维度并没有直接关系,它们是通过事实的客户代理键和邮编代理键产生联系,因此必须关联事实、客户维度、邮编维度三个才能取出PA子维度数据

856100

维度架构之超时时间

维度架构之超时时间 ? 超时时间俗称 Timeout 它是引起应用程序无响应或者网络服务雪崩灾难的罪魁祸首。 超时时间设置非常讲究,太长不行,太短也不行。...超时时间有哪些: 网络超时 文件系统超时 执行时间超时 无处不在的超时时间 早期架构相对简单,拓扑成线性,例如: 用户 —> WEB服务器 —> 应用服务器 —> 缓存 —> 数据库 这是最典型的应用了...所以说后面应用服务器的超时时间设置,不能大于前面WEB服务器的超时时间设置。...最后是数据库超时时间,数据库超时时间的设置,执行超时时间比网络超时时间更重要。所谓执行超时时间,就是控制执行SQL语句的时间,在规定时间没有完成查询就直接返回超时。...那么这样设置超时时间合理吗?

1.6K31

数据仓库系列--维度技术

维度技术常见:增加列,维度子集,角色扮演维度,层次维度,退化维度,杂项维度维度合并,分段维度等基本维度技术。 一.增加列 事实维度上增加列。...为解决上述问题,常用做法是在基本维度上建立视图生成维度。 优点:实现简单,不需要修改原来脚本的逻辑;不占用存储空间,因为视图不真正存储数据;消除数据不一致的可能。...缺点:当基本维度和子维度数据量相差悬殊,性能比物理差很多;如果定义视图查询,并且视图很多,可能对元数据存储系统造成压力,严重影响查询性能。...对于大量数据这将会消耗很长时间去执行。 Sort by 在每个reducer端都会排序,也就保证了局部有序。 Ditribute by 控制map输出reducer中是如何规划。...七.维度合并 如果几个相关维度的基数都很小,或者具有多个公共属性时,可以考虑合并。 八.分段维度 包含连续的分段度量值,通常用作客户维度的行为标记时间序列,分析客户行为。

13310

数仓建模——维度详细讲解

在数据仓库中,维度是与事实表相对应的维度维度建模的基础和灵魂。...事实紧紧围绕业务过程进行设计,事实存储度量数据,如销售额、数量、收入等,而维度则围绕业务过程所处的环境进行设计,维度存储描述度量数据的各个方面的信息,例如时间、地理位置、产品、客户等。...2、维度变化 维度属性一般来说不是静态的,而是会随时间变化的,数据仓库的一个重要特点就是反映历史的变化,所以如何保存维度的历史状态是维度设计的重要工作之一。...三、维度设计步骤 1)确定维度) 在设计事实时,已经确定了与每个事实表相关的维度,理论上每个相关维度均需对应一张维度。...确定维度属性时,需要遵循以下要求: (1)尽可能生成丰富的维度属性 维度属性是后续做分析统计时的查询约束条件、分组字段的基本来源,是数据易用性的关键。

98110

HAWQ取代传统数仓实践(九)——维度技术之退化维度

退化维度技术减少维度的数量,简化维度数据仓库模式。简单的模式比复杂的更容易理解,也有更好的查询性能。         有时,维度中除了业务主键外没有其它内容。...例如,在本销售订单示例中,订单维度除了订单号,没有任何其它属性,而订单号是事务的主键,这种维度就是退化维度。业务系统中的主键通常是不允许修改的。...因此订单维度也不会有历史数据版本问题。退化维度常见于事务和累计快照事实中。         销售订单事实中的每行记录都包括作为退化维度的订单号代理键。...但是,在维度模型中,事实中的订单号代理键通常与订单属性的其它没有关联。可以将订单事实所有关心的属性分类到不同的维度中,例如,订单日期关联到日期维度,客户关联到客户维度等。...但这只是一种特殊情况,通常代理键和业务主键的值是不同的,因此这里依然使用标准的方式重新生成数据。 二、修改定期数据装载函数         退化一个维度后需要做的另一件事就是修改定期数据装载函数。

2.2K50

维度建模技术实践——深入事实

至此,我们也完成了超市零售事务的事实维度的设计,超市零售事务事实以及相关的维度如图所示: ?...周期快照事实的周期通常需要和业务方共同确定,最常见的周期是天、周和月等。 周期快照事实中的事实一般是半可加的,如某个商品的库存可以跨商品、仓库等相加,但是明显在时间上相加是没有意义的。...累计快照事实非常适用于具有工作流或者流水线形式业务的分析,这些业务通常涉及多个时间节点或者有主要的里程碑事件,而累计快照事实正是从全流程角度对其业务状态的拍照。...无事实的事实通常人为增加一个常量列(其列的值总是为 1) 来方便对业务时间的统计分析。 以学生在各门课程中的出席情况为例给出无事实的事实维度设计方案: ?...总结 在经典的维度建模事实设计中,事实将仅存储维度外键、选定的度量以及退化维度等,例如我们前面提到的超市零售事务事实

1.5K20

HAWQ取代传统数仓实践(十二)——维度技术之分段维度

推荐的处理行为标记的方法是为客户维度建立分段属性的时间序列。这样BI接口比较简单,因为列都在同一个中,性能也较好,因为可以对它们建立时间戳索引。...第二个星型模式由annual_customer_segment_fact事实、annual_order_segement_dim维度、customer_dim维度构成。...客户年度分段事实中没有度量,只有来自两个相关维度的代理键,因此它是一个无事实的事实,存储的数据实际上就是前面所说的行为标记时间序列。...分别是分段维度、年度销售事实和年度客户消费分段事实,并向分段维度插入9条分段定义数据。...将年度销售事实表里与分段维度关联,把客户、分段维度的代理键插入年度客户消费分段事实。注意,数据装载过程中并没有引用客户维度,因为客户代理键可以直接从销售订单事实得到。

1.1K101

HAWQ取代传统数仓实践(十)——维度技术之杂项维度

将每个标志位放入其自己的维度中         例如,为销售订单的四个标志位分别建立四个对应的维度。在装载事实数据前先处理这四个维度,必要时生成新的代理键,然后在事实中引用这些代理键。...将标志位字段存储到订单维度中         可以将标志位字段添加到订单维度中。上一篇我们将订单维度作为退化维度删除了,因为它除了订单号,没有其它任何属性。...在订单维度中,每条业务订单都会存在对应的一条销售订单记录,该维度的记录数会膨胀到跟事实一样多,而在如此多的数据中,每个标志位字段都存在大量的冗余。通常维度应该比事实小得多。 5....is '客户首个订单标志'; comment on column sales_order_attribute_dim.web_order_flag is '线上订单标志'; -- 生成杂项维度数据...analyze product_dim; analyze sales_order_fact; -- 更新时间

1.5K90

数据仓库中的维度和事实概述

可以汇总具体时间段内一组商店的特定商品的销售情况。...一般来说,一个事实数据都要和一个或多个纬度表相关联,用户在利用事实数据创建多维数据集时,可以使用一个或多个维度。...维度 维度可以看作是用户来分析数据的窗口,纬度中包含事实数据中事实记录的特性,有些特性提供描述性信息,有些特性指定如何汇总事实数据数据,以便为分析者提供有用的信息,维度包含帮助汇总数据的特性的层次结构...在维度中,每个都包含独立于其他维度的事实特性,例如,客户维度包含有关客户的数据。维度中的列字段可以将信息分为不同层次的结构级。...事实就是销量表,维度就是地区

4.6K30

快速生成日期维度数据

日期维度包含时间概念,而时间是最重要的,因为数据仓库的主要功能之一就是存储和追溯历史数据,所以每个数据仓库里的数据都有一个时间特征。装载日期数据有三个常用方法:预装载、每日装载一天、从源数据装载日期。...假设建立有如下日期维度: create table date_dim ( date_sk int, -- 代理键 date date,...在数据库中生成日期维度数据很简单,因为数据库一般都提供了丰富的日期时间函数,而且可以在存储过程中循环插入数据。下面对比HAWQ中两个生成日期数据函数的性能。...在每次迭代中,该函数把日期维度当前所有行的值加上 i 后再插入日期维度中。这样每次循环插入的行数以2的幂次方递增,insert语句只被执行了14次,其中还包括作为种子数据的第一次插入。...这种思想具有一定的通用性,例如在MySQL生成数字辅助数据时,就可以用下面的过程快速生成

1.3K30
领券