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

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. 实验1.SDN拓扑实践

    实验1:SDN拓扑实践 一.基本要求 (一)Mininet运行结果截图 (二) 使用Mininet的命令行生成如下拓扑: 1. 3台交换机,每个交换机连接1台主机,3台交换机连接成一条线. 2. 3台 ...

  2. mongodb定时备份

    1. https://www.jianshu.com/p/a9352e28e2d6   (未测试) 通过centos 脚步来执行备份操作,使用crontab实现定时功能,并删除指定天数前的备份 具体操 ...

  3. Java笔记第四弹

    File类创建功能 public boolean createNewFile();//当该文件名不存在时,创建一个由该抽象路径名命名的新空文件 public boolean mkdir();//创建由 ...

  4. 【Keil】浅学一下keil中的.sct文件

    [Keil]浅学一下keil中的.sct文件 最近重新捣鼓了acfly的源码,有了新的有趣发现,当然,过程并不有趣. 起因 clone下来我去年提交的代码,编译 ...... 报错辣! linking ...

  5. openfoam并行通信探索(一)

    前言 最近在忙,快一两周没更新了,今天说下如何实现openfoam内的并行通信 为什么要并行通信 说到并行通信大家不要害怕啊,只是不同核之间数据传递,比如说咱们仿真开16个核,3号计算单元对4号计算单 ...

  6. 打工人都在用的AI工具(第一期)

    更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 随着ChatGPT的问世,AI也算迎来了高光时刻!下文是技术宅整理的一些和ChatGPT相关的工具应用, ...

  7. Web 开发的常规流程

    Web 开发的常规流程 What is the Web? 简单地说,网络是一个遍布全球的网络,它连接大量设备并允许它们相互通信 Internet 上的网站托管在称为服务器的设备上,当您与 Intern ...

  8. Windows系统下Dos命令记录

    # 切换到F:\test\目录 /d 参数可以直接切换,不需要先切换盘符 cd /d F:\test\ # 创建文件夹test md tset # 删除文件夹test rd test # 创建文件te ...

  9. Clion 连接 WSL 编译Unix环境

    Clion 连接 WSL 编译Unix环境 安装 WSL Ubuntu 18版本,创建后不要换源,upgrade后安装CMake.g++.gcc 安装 Clion,创建项目 进入setting 在 B ...

  10. ArcGIS模型构建器ModelBuilder的使用方法

      本文介绍在ArcMap软件中,基于模型构建器(ModelBuilder)完成模型建立与使用的具体方法.   首先,在ArcMap软件中打开"ModelBuilder".   建 ...