Power Query中的日期和时间处理技术详解
发布时间: 2023-12-24 13:23:55 阅读量: 102 订阅数: 37
# 第一章:Power Query简介和基础概念
## 1.1 Power Query概述
Power Query 是一种用于数据处理和转换的工具,最初是 Excel 中的一个插件,后来被整合到了 Power BI 中。它可以帮助用户轻松地连接、转换和处理各种数据源,包括数据库、Excel 表、CSV 文件、Web 数据等,使数据清洗和准备变得更加高效和灵活。
## 1.2 Power Query的常见应用领域
Power Query 在数据清洗、数据合并、数据筛选和数据加工方面有着广泛的应用,在业务分析、BI报表制作、数据可视化等领域都扮演着重要角色。
## 1.3 Power Query的基本操作和语法
Power Query 使用类似于 Excel 的公式语法,称为 M Formula Language。用户可以通过图形化界面进行数据转换操作,也可以直接编写 M 语言代码来实现更加复杂的数据处理任务。在 Power BI 的 Query Editor 中,用户可以进行数据源连接、数据转换、列操作、添加自定义列、数据类型转换、数据透视等操作。
### 第二章:Power Query中日期和时间数据类型
#### 2.1 Date、Time和DateTime数据类型介绍
在Power Query中,日期和时间数据类型包括Date、Time和DateTime。Date类型表示日期,例如2022年3月14日;Time类型表示时间,例如14:30:00;DateTime类型表示日期和时间的组合,例如2022年3月14日14:30:00。
#### 2.2 Power Query中日期和时间的常见格式
Power Query中日期和时间可以采用多种常见格式,包括"YYYY-MM-DD"、"MM/DD/YYYY"、"DD-MMM-YYYY"、"HH:MM:SS"等,同时也可以根据需要进行自定义格式化设置。
#### 2.3 Power Query中日期和时间数据处理的特点
日期和时间数据在Power Query中具有丰富的处理特点,包括格式转换、时区调整、日期计算、日期比较等多种常见操作,同时也支持各种日期和时间函数的运用。在处理日期和时间数据时,需要注意数据的精度、时区以及与其他数据类型的转换等问题。
### 第三章:日期和时间数据的导入和转换
Power Query提供了丰富的功能来导入和转换日期和时间数据,使得处理这些数据变得非常容易。在本章中,我们将重点介绍如何从不同数据源导入日期和时间数据,以及对这些数据进行格式转换、清洗和处理的技巧。
#### 3.1 从不同数据源导入日期和时间数据
在Power Query中,我们可以从各种不同的数据源中导入日期和时间数据,包括Excel、CSV、数据库、Web数据等。不同的数据源可能采用不同的日期时间格式,因此在导入数据时,需要注意数据的原始格式并进行必要的转换。
```
// 从Excel导入日期和时间数据示例
let
Source = Excel.Workbook(File.Contents("C:\Data\SampleData.xlsx"), null, true),
Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
#"Changed Type" = Table.TransformColumnTypes(Sheet1_Sheet,{{"DateColumn", type date}, {"TimeColumn", type time}})
in
#"Changed Type"
```
#### 3.2 Power Query中日期和时间数据的格式转换
在Power Query中,我们可以通过一系列操作来进行日期和时间数据的格式转换,包括修改日期格式、提取年月日时分秒等操作。这些操作可以通过图形化界面操作,也可以通过M语言编写脚本来实现。
```
// 日期和时间数据格式转换示例
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("NUs7DoAwDPXitczRE3pUTxQZwBB0gB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ID = _t, Date = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", type text}, {"Date", type datetime}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Year", each Date.Year([Date]))
in
#"Added Custom"
```
#### 3.3 日期和时间数据的清洗和处理技巧
在导入和转换日期和时间数据后,有时候数据中会存在一些异常值或需要进一步处理的情况。Power Query提供了丰富的数据清洗和处理功能,比如筛选特定日期范围的数据、处理空缺值、对数据进行排序等操作。
```
// 日期和时间数据清洗和处理示例
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("NUs7DoAwDPXitczRE3pUTxQZwBB0gB", BinaryEncoding.Base64), Compressio
```
0
0