#Powerquery 数据结构基础 一维数据与二维数据
本文参考了采悟老师的文章,推荐大家看原文,本文为笔记随笔
https://mp.weixin.qq.com/s?__biz=MzA4MzQwMjY4MA==&mid=2484068871&idx=1&sn=4ab596602ed0a4c851755673d8fcf37a&chksm=8e0c48d0b97bc1c6e8edc0d31110b669c87740e55601fce30e498c9801af972ca1f366eb7ab9&scene=21#wechat_redirect
在数据分析中,一维数据更适合用来做数据分析,一维数据的数据源,更有利于直接使用或者加入筛选。一维数据可以直接参与数据建模,构建表格模型关系。
一维数据是数据整理的一种思维
那么什么是一维数据呢?这里引用采大文章的截图。
1:一维数据和二维数据的区别:
一维数据优势在于,一维表的每一列都是一个独立的维度,列名或者字段名就是数据分析的基础,比如利用列名与其他表建立关系;POWERBI中编写DAX时直接使用列名;数据可视化时直接把字段拖入到某个属性框中等。
在powerbi中,用表格函数例如values函数,直接来构建维度表。
= values('销售表'[品名])
就可以直接提取销售表中的不重复的品名,这个返回表就可以直接作为维度表,加入数据模型。所以一维数据用于构建数据源更多一些。
二维数据优势在于,可以更为高效的展示数据,用更少的空间去展示尽可能更多的数据,所以二维数据用于数据展示更多一些。
1.1 错误的表展示(非一维数据),多个sheet页,这种数据源未在同一表格,后期需要分析时,往往需要耗费大量时间,去进行数据合并操作,浪费时间
1.2 错误的表展示(非一维数据),合并单元格,合并单元格同一破坏了数据一列是一个维度的原则,对列式的数据分析不友好,所以同样不建议数据源表有任何格式的合并单元格。
1.3 按某个类别新增列,下表中,办公用品、电费、水费应该合并分列至支出,这三列具有同一的“支出”属性。所以应该转化为同一列。
2:一维数据和二维数据如何转化
2.1:一维数据转化二维数据
这个在平时工作中,我们用到的地方很多,例如excel中的数据透视表,powerquery中的透视,sql中的gruopby,均是分组汇总数据用以展示,本质就是一维数据转为二维数据,展示数据
2.2:二维数据转化一维数据
举例:原表二维表
转化为一维表,这里用powerquery做演示
第一步:选择数据源区域,选择数据选项卡,选择来自表格区域
第二步:进入pq界面
第三步:找到转化选项卡,找到逆透视列,这一步我们在前面已经知道了,日期、经办人、款类别均为一维的标准数据,而后面的办公用品、电费、水费均为支出是需要合并为一列的。
所以,选择日期、经办人、款类别这三列,再选择逆透视其他列,来进行合并
第四步:办公用品、电费、水费,这三列已经合并为一列了,而他们的值也对应展开了,现在这个表已经转化为了一个标准的一维表了。
以上就是利用powerquery进行二维数据转化一维数据的一个案例,当然数据源规范从一开始做起,除了部分我们无法控制的数据源,我们自己生产或者加工的数据源,从一开始
就保证一维的数据结构,对我们后期的数据建模、数据分析项目都有很大的帮助。
总结:上面我们讲了一维数据、二维数据、两者的相互转化以及各自的优劣,最后用pq跟大家做了一个案例演示。有实际不同的业务可以灵活选择合适的转化方式。
我是simone,期待下次的分享。