#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,期待下次的分享。

posted @ 2023-01-05 13:27  simone331  阅读(601)  评论(0编辑  收藏  举报