Power Query 中常用的数据清洗、转换操作

6 篇文章 0 订阅
5 篇文章 0 订阅

(一)数据筛选、保留、删除、去重

1、数据筛选

操作步骤

选中列——点击列名右侧箭头——进行筛选

可选操作

  • 勾选
  • 文本筛选器:等于/不等于、开头是/开头不是、结尾是/结尾不是、包含/不包含
  • 数字筛选器:等于/不等于、大于/大于等于、小于/小于等于、介于
  • 日期筛选器:等于、早于、晚于、介于、接下来N个时间段/之前N个时间段、最早/最晚、非最早/非最晚、年/季/月/周/天/时/分/秒、自定义

图片示例

2、保留/删除列

操作步骤

选择列——勾选要保留的列:留下勾选的,删除未勾选的

选中一列或多列——删除列:删除选中的列

选中一列或多列——删除其他列:删除选中列之外的其他列

图片示例

3、保留/删除行

操作步骤

保留行

删除行

可选操作

  • 保留行:保留最前面几行/最后几行/一定范围内的行、保留重复项、保留错误行
  • 删除行:删除最前面几行/最后几行/一定范围内的行、删除重复项、删除空行、删除错误行

图片示例

(二)排序、移动列

1、排序

操作步骤

选中一列——主页——排序

可选操作

  • 升序 A to Z
  • 降序 Z to A

图片示例

2、移动列(列排序)

操作步骤

选中一列——右键——移动

可选操作

  • 向左移动/向右移动/移到开头/移到末尾

图片示例

(三)缺失/错误值处理:替换值、填充

1、替换值

操作步骤

选中一或多列——转换——任意列——替换值

可选操作

替换值:将 X 值替换为 Y 值

替换错误:将 错误 替换为 Y 值

图片示例

2、填充

操作步骤

选中一或多列——转换——任意列——填充

可选操作

向下:用最近的值向下填充空白单元格

向上:用最近的值向上填充空白单元格

图片示例

(四)文本处理:拆分列、合并列、字符串提取、格式修整

1、拆分列

操作步骤

  • 选中一列——转换列——文本列——拆分列

可选操作

  • 按分隔符:靠左/靠右拆分一次、每次出现分隔符拆分
  • 按字符数:靠左/靠右拆分一次、多次拆分
  • 按位置:按索引位置
  • 按大小写转换:小写到大写转换/大写到小写转换
  • 按数字非数字转换:数字到非数字转换/非数字到数字转换

图片示例

2、合并列

操作步骤

  • 选中要合并的多列——添加列——文本列——合并列

可选操作

  • 合并列——选择分隔符、合并后新列名

图片示例

3、文本提取

操作步骤

  • 选中一列——转换/添加列——文本列——提取

可选操作

  • 长度:获取文本长度
  • 按索引范围:首字符(从左开始N个字符)/结尾字符(从右开始N个字符)/范围(从X位置开始N个字符)
  • 按分隔符:分隔符之前/分隔符之后/分隔符之间

图片示例

4、文本格式修整

操作步骤

  • 选中一列——转换/添加列——文本列——格式

可选操作

  • 处理英文文本:小写(全部字母小写)/大写(全部字母大写)/每个单词首字母大写
  • 处理空格和非打印字符:修整(去除字符串首尾空格)/清除(去除所有非打印字符,如换行符等)
  • 添加前后缀:添加前缀/添加后缀

图片示例

(五)日期和时间处理

1、日期
  • Power Query 和 Power BI 中,对周的默认处理,均是以 星期日 作为一周的第1天,星期六 作为第7天,在计算“一周的第N天”,“一年中的第N周”,“一月中的第N周”时,均是如此。和中国的使用习惯不同。
  • 因此在遇到与周相关的数据处理时,要么使用自建的日期表,要么通过修改 M/DAX 函数的对应参数,将周的计算改成 星期一 是第1天,星期日 是第7天的逻辑。

操作步骤

转换/添加列——日期&时间——日期

可选操作

  • 年限:当前日期时间 - 该日期时间列 的差值
  • 仅日期:从日期时间列中提取日期
  • 分析:将不规范的日期格式转换为统一规范的格式
  • :年(从日期中提取出年)、年份开始值(提取出这一年的第一天)、年份结束值(提取出这一年的最后一天)
  • :月(从日期中提取出月)、月份开始值(提取出这一月的第一天)、月份结束值(提取出这一月的最后一天)、一个月的某些日(提取出这一月总共有多少天)、月份名称(月份对应的中文名)
  • :一年的某一季度(提取出日期是这一年的哪一季度)、季度开始值(提取出这一季度的第一天)、季度结束值(提取出这一季度的最后一天)
  • :一年的某一周(提取出日期是这一年的第几周)、一个月的某一周(提取出日期是这一月的第几周)、星期开始值(提取出这一周的第一天)、星期结束值(提取出这一周的最后一天)
  • :天(从日期中提取出天)、每周的某一日(提取出日期是这一周的第几天)、一年的某一日(提取出日期是这一年的第几天)、一天开始值(提取出这一天开始的日期时间)、一天结束值(提取出这一天结束的日期时间)、星期几(提取出这一天对应的星期的中文名)
  • 合并日期和时间:选中日期列和时间列,合并为日期时间
  • 最早:提取出日期列中最早的日期(只有一个值)
  • 最新(最晚):提取出日期列中最晚的日期(只有一个值)

图片示例

2、时间

操作步骤

转换/添加列——日期&时间——时间

可选操作

  • 仅时间:从日期时间列中提取时间
  • 本地时间
  • 分析:将不规范的时间格式转换为统一规范的格式
  • 小时:小时(从时间列中提取出小时)、小时开头(提取出这一小时开始的时间)、小时结尾(提取出这一小时结束的时间)
  • 分钟:从时间列中提取出分
  • :从时间列中提取出秒
  • 合并日期和时间:选中日期列和时间列,合并为日期时间
  • 最早:提取出时间列中最早的时间(只有一个值)
  • 最新(最晚):提取出时间列中最晚的时间(只有一个值)

图片示例

3、持续时间

操作步骤

转换/添加列——日期&时间——持续时间

可选操作

图片示例

(六)数据类型转换

操作步骤

  • 数据类型

可选操作

  • 数值:小数、定点小数、整数、百分比
  • 日期时间:日期/时间、日期、时间、日期/时间/时区、持续时间
  • 文本
  • 布尔值
  • 二进制

图片示例

(七)数据整合:合并查询、追加查询

1、合并查询(左右合并)

操作步骤

主页——组合——合并查询

可选操作

  • 合并查询:在当前选中查询上合并新查询
  • 将查询合并为新查询:新建一个查询,进行合并查询

图片示例

2、追加查询(上下合并)

操作步骤

主页——组合——追加查询

可选操作

  • 追加查询:在当前选中查询上追加新查询
  • 将查询追加为新查询:新建一个查询,进行追加查询

图片示例

(八)分组汇总

操作步骤

转换——表格——分组依据

图片示例

(1)选择用来分组的字段,如日期、产品

(2)选择用来汇总的数据字段、汇总方式,设置新列名

(3)获得汇总之后新的数据表

(九)透视列和逆透视列

1、透视列

将一维表转换为透视表(但不太好用,实际做数据透视,还是用分组比较多)

操作步骤

转换——任意列——透视列

可选操作

透视列:

图片示例

2、逆透视列

把多维表转换为一维表

操作步骤

转换——任意列——逆透视列

可选操作

  • 逆透视列:
  • 逆透视其他列:
  • 仅逆透视选定列:

图片示例

(十)添加列

1、复制列

操作步骤

选中列——添加列——常规——重复列

可选操作

将选中列复制一份

图片示例

2、添加条件列

操作步骤

添加列——常规——条件列

可选操作

IF ... THEN ... ELSE 

图片示例

3、添加索引列

操作步骤

添加列——常规——索引列

可选操作

  • 索引从0开始
  • 索引从1开始
  • 自定义:自定义起始索引和每一步的增量(需要将几份数据交叉合并的时候很有用)

图片示例

4、添加自定义列

操作步骤

添加列——常规——自定义列

可选操作

使用 M 函数和公式自定义列

图片示例

(十一)查看数据统计信息和数据异常

1、列分布

操作步骤

Power Query —— 视图 —— 数据预览 —— 列分发(列分布)

图片示例

说明

勾选后,在每一列上方显示此列数据的分布图,以及非重复值(Distinct   value,包含重复值和NULL)和唯一值(Unique value,不包含重复值和NULL,只出现一次的值)的数量

2、列质量

操作步骤

Power Query —— 视图 —— 数据预览 —— 列质量

图片示例

说明

勾选后,在每一列上方显示此列数据的质量数据:有效、错误和空数据的百分比

3、列属性

操作步骤

Power Query —— 视图 —— 数据预览 —— 列配置文件(列属性)

可选操作

图片示例

勾选后,选中某一列时,就在下方显示这一列的统计信息和取值分布。包括计数:计数、错误值计数、空值计数、非重复值计数、唯一值计数、NaN值计数、零值计数;统计信息:最大值、最小值、平均值、标准差

(十二)数学运算

操作步骤

转换/添加列——数字

可选操作

图片示例

(十三)数据转置、反转

操作步骤

转换——表格——转置

转换——表格——反转行

可选操作

  • 转置:行列转置
  • 反转行:所有行前后调换顺序

图片示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值