(CDA数据分析师学习笔记)第五章多维数据透视分析二

2024-04-15 10:44

本文主要是介绍(CDA数据分析师学习笔记)第五章多维数据透视分析二,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  1. 主表提供数据范围,在一对多的对应关系下,使用单项筛选器进行汇总计算时,应遵循:“一表出维度字段是附表,多表出度量字段是主表,一表筛选多表”。

一对一:应当是逻辑上的一对一,而非当前数据是一对一。

多对多: 尽量避免。可能出现度量值重复计算的可能。

  1. 一对多(多对一):如果是单项筛选器,当一表筛选多表、一表出维度、多表出度量才能得到正确的结果。双向筛选器时,应尽量一表筛选多表,此时是类型一规则,先将维度字段下相同的维度项按照合并同类项的方式合并到一起,在按照计算规则将不同维度项下对应的所有度量值进行汇总计算,最后得到计算结果。

当多表筛选一表时,此时是类型二规则,先对维度字段下不同维度项进行合并同类项处理,再找出每个维度项下包含的公共字段,然后将每个不同公共字段作为汇总度量字段的维度使用,再按照指定的汇总规则去计算每个不同公共字段信息对应的度量值。类型二规则下,指定的维度字段不直接对度量字段进行筛选,而是找出不同维度下包含的不同公共字段,用这些公共字段对度量值字段进行筛选。

类型二:举例子

区域id是维度字段,产品总销量是度量。据图可知产品id是每个维度下的公共字段。

计算过程:先将每个区域id项包含的不同产品id找到,作为维度,将每一个产品id下对应的度量字段(产品总销量)加总得出最终结果。

总结:尽量使用一对多,且“一表出维度,多表出度量,一表筛选多表”。

  1. 跨表筛选:前提是路径通畅,无论各个表间对应关系如何,都将按照类型二规则进行汇总。

图中5-16无法正常完成筛选,每个销售人员的订单金额都是14000。

  1. 在多表环境下,不相邻的两个表间往往可以形成多条不同的筛选路径,两表间包含多条筛选路径的情况称为交叉连接。但是真正影响筛选结果的往往只有一条,称为有效路径,其他不参与筛选的路径称为无效路径。在powerBI工具中有效路径用实线表示,无效路径用虚线表示。
  2. 出维度字段的是维度表,出度量字段的是事实表,维度字段筛选度量字段,维度表筛选事实表。多表连接环境下,维度表与事实表可以构成3种不同的连接模型,分别是星型、雪花型、星座型。

星型模型:一个事实表与多个维度表连接。

雪花模型:维度表与其他维度表连接再与事实表连接后构成的连接模型。

星座模型:多个事实表与某些维度表连接后构成的连接模型。

这篇关于(CDA数据分析师学习笔记)第五章多维数据透视分析二的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/905598

相关文章

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

golang获取prometheus数据(prometheus/client_golang包)

《golang获取prometheus数据(prometheus/client_golang包)》本文主要介绍了使用Go语言的prometheus/client_golang包来获取Prometheu... 目录1. 创建链接1.1 语法1.2 完整示例2. 简单查询2.1 语法2.2 完整示例3. 范围值

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

javaScript在表单提交时获取表单数据的示例代码

《javaScript在表单提交时获取表单数据的示例代码》本文介绍了五种在JavaScript中获取表单数据的方法:使用FormData对象、手动提取表单数据、使用querySelector获取单个字... 方法 1:使用 FormData 对象FormData 是一个方便的内置对象,用于获取表单中的键值

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

C++ Primer 多维数组的使用

《C++Primer多维数组的使用》本文主要介绍了多维数组在C++语言中的定义、初始化、下标引用以及使用范围for语句处理多维数组的方法,具有一定的参考价值,感兴趣的可以了解一下... 目录多维数组多维数组的初始化多维数组的下标引用使用范围for语句处理多维数组指针和多维数组多维数组严格来说,C++语言没