本文参考了采悟老师的文章,推荐大家看原文,本文为笔记随笔

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

#Powerquery 数据结构基础 一维数据与二维数据的更多相关文章

  1. 从txt文件中读取数据放在二维数组中

    1.我D盘中的test.txt文件内的内容是这样的,也是随机产生的二维数组 /test.txt/ 5.440000 3.4500006.610000 6.0400008.900000 3.030000 ...

  2. 深度学习原理与框架-神经网络-线性回归与神经网络的效果对比 1.np.c_[将数据进行合并] 2.np.linspace(将数据拆成n等分) 3.np.meshgrid(将一维数据表示为二维的维度) 4.plt.contourf(画出等高线图,画算法边界)

    1. np.c[a, b]  将列表或者数据进行合并,我们也可以使用np.concatenate 参数说明:a和b表示输入的列表数据 2.np.linspace(0, 1, N) # 将0和1之间的数 ...

  3. 妙用Excel数据透视表和透视图向导,将二维数据转换为一维数据

    项目中,每年都会有各种经销商的各种产品目标数据导入,经销商和产品过多,手工操作过于单调和复杂.那有没有一种方式可以将复杂的二维数据转换为一维数据呢? 有,强大的Excel就支持此功能. 常用Excel ...

  4. C# 数组、一维数组、二维数组、多维数组、锯齿数组

    C#  数组.一维数组.二维数组.多维数组.锯齿数组 一.数组: 如果需要使用同一类型的对象,就可以使用数组,数组是一种数据结构,它可以包含同一类型的多个元素.它的长度是固定的,如长度未知的情况下,请 ...

  5. ZXing拍摄代码扫描之后以区分一维码、二维码、其他代码

    我怎么有二维码没有联系,最近遇到一个问题,,如何推断条码扫描到一维代码或者二维代码,辛苦了一个下午下班后自己,加上网上跟踪信息. 总结出两种方式能够解决该问题(推荐採用另外一种方式): 1.改动源代码 ...

  6. TensorflowTutorial_二维数据构造简单CNN

    使用二维数据构造简单卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 图像和一些时序数据集都可以用二维数据的形式表现,我们此次使用随机分布的二位数据构造一个简单的CNN-网络卷积- ...

  7. 卷积神经网络(CNN)之一维卷积、二维卷积、三维卷积详解

    作者:szx_spark 由于计算机视觉的大红大紫,二维卷积的用处范围最广.因此本文首先介绍二维卷积,之后再介绍一维卷积与三维卷积的具体流程,并描述其各自的具体应用. 1. 二维卷积 图中的输入的数据 ...

  8. Excel:一维表和二维表 互转

    一.一维表转二维表 数据源: 一份流水账式的值班表,为了便于打印张贴,现在需要使其变成这样的样式: 也就是从一维表变成传说中的二维表. 1.新建查询 依次单击[数据]→[新建查询] →[从文件]→[从 ...

  9. java基础-引用数据类型之二维数组(Array)

    java基础-引用数据类型之二维数组(Array) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 之前我们学习过了Java的一维数组,所谓的二维数组就是元素是一堆一维数组的数组,换 ...

  10. 二维数组,锯齿数组和集合 C# 一维数组、二维数组(矩形数组)、交错数组(锯齿数组)的使用 C# 数组、多维数组(矩形数组)、锯齿数组(交叉数组)

    二维数组,锯齿数组和集合 一.二维数组 二维数组:一维数组----豆角二维数组----表格 定义:1.一维数组:数据类型[] 数组变量名 = new 数据类型[数组长度];数据类型[] 数组变量名 = ...

随机推荐

  1. rsync+inotify组合实现实时同步

    首先准备两台服务器(centos7) A:192.168.75.160 B:192.168.75.161 A机器当做客户端,B机器当做服务端 rsync 安装 客户端服务器端都要安装rsync ,但是 ...

  2. [imx6ull] 源码下载

    uboot git clone https://source.codeaurora.org/external/imx/uboot-imx cd uboot-imx make distclean mak ...

  3. Python ArcPy批量拼接长时间序列栅格图像

      本文介绍基于Python中ArcPy模块,对大量不同时相的栅格遥感影像按照其成像时间依次执行批量拼接的方法.   在前期的文章Python arcpy创建栅格.批量拼接栅格中,我们介绍了利用Pyt ...

  4. Cocos 引擎生态部负责人李阳:己之所欲,可施于人,希望通过生态促进国内引擎技术发展

    前言 "小小的身体,大大的能量,这个应该是我对大表姐最直接的感觉,在她娇小的身躯里蕴含了无限的精力和潜力,很像漫威里的神奇女侠,作为一个具备冒险精神的非典型程序员,大表姐热爱的体育活动都是很 ...

  5. Why WebRTC丨“浅入深出”的工作原理详解

    前言 近几年实时音视频通信应用呈现出了大爆发的趋势.在这些实时通信技术的背后,有一项不得不提的技术--WebRTC. 今年 1 月,WebRTC 被 W3C 和 IETF 发布为正式标准.据调研机构 ...

  6. 【CS231n assignment 2022】Assignment 2 - Part 2,优化器,批归一化以及层归一化

    前言 博客主页:睡晚不猿序程 首发时间:2022.7.23 最近更新时间:2022.7.23 本文由 睡晚不猿序程 原创 作者是蒻蒟本蒟,如果文章里有任何错误或者表述不清,请 tt 我,万分感谢!or ...

  7. UI/UE设计学习路线图(超详细)

    很多小伙伴认为ui设计很简单,就是用相关的软件设计制作图片.界面等.其实不然,UI设计融合了很多学科内容.要从一个完全没有基础的人成长为一个ui设计者,该如何学习呢?主要分为基础阶段和专业课程阶段,其 ...

  8. jmeter关于常用取样器的设置

      常用创建操作   1.线程组:测试计划(右键)-->线程(用户)-->线程组   2.http请求:线程组(右键)-->取样器-->http请求   3.察看结果树:线程组 ...

  9. 剑指 offer 第 25 天

    第 25 天 模拟(中等) 剑指 Offer 29. 顺时针打印矩阵 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 示例 1: 输入:matrix = [[1,2,3],[4,5,6 ...

  10. mysql根据多列去除重复数据bing 并保留id最小的一项

    首先我的数剧是这样的: 我想根据name1.relation和name2判断如果重复的话删除重复的数据且保留id最小的一条数据,于是写了下面的sql语句 DELETE FROM star_relati ...