可以定义和检测数据类型,但大多数情况下不需要。 默认情况下,连接到:
-
结构化数据源 示例包括所有数据库。 Power Query从数据源读取表架构,并为每个列使用正确的数据类型自动显示数据。
-
非结构化源 示例包括 Excel、CSV 和文本文件。 Power Query通过检查表中的值自动检测数据类型。
默认情况下,在 Power Query 中为非结构化源启用自动数据类型检测,但可以更改选项设置。 在某些情况下,你可能不希望自动执行这些步骤,因为该操作可能会导致数据源的刷新错误。 有关详细信息,请参阅 处理数据源错误。
下表列出了Power Query中使用的数据类型。
图标 |
数据类型 |
描述 |
---|---|---|
任何 |
指示没有显式数据类型定义。 |
|
Binary |
二进制值,例如 Y/N 或 0/1。 |
|
固定十进制数 |
具有固定格式,右侧为 4 位数字,左侧为 19 位数字。 也称为货币类型。 |
|
日期 |
一个没有时间且小数部分值为零的日期。 |
|
日期/时间 |
存储为十进制数字类型的日期和时间值。 |
|
Date/Time/TimeZone |
具有时区偏移量的 UTC 日期/时间。 |
|
持续时间 |
转换为十进制数的时间长度。 |
|
True/False |
True 或 False 的布尔值。 |
|
十进制数 |
一个 64 位 (8 字节) 浮点数。 |
|
百分比 |
具有掩码的固定十进制数,格式为百分比。 |
|
文本 |
以文本格式表示的字符串、数字或日期。 |
|
时间 |
没有日期且小数位数左侧没有数字的时间。 |
|
|
整数 |
一个 64 位 (8 字节) 整数值。 |
列的数据类型显示在列标题的左侧,并带有一个符号化数据类型的图标。
-
若要打开查询,请找到以前从Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询 >编辑”。 有关详细信息,请参阅在 Excel (Power Query) 中创建、加载或编辑查询。
-
若要检测数据类型,请选择一列,然后选择“ 转换 > 检测数据类型”。 如果当前数据类型为 “任何”,并且希望列具有特定的数据类型,则可以执行此操作。
-
若要定义数据类型,请选择“ 开始 > 数据类型”,然后从下拉菜单中选择数据类型。
提示 还可以选择列标题左侧的图标。 除了每种数据类型,还可以选择列表底部的“ 使用区域设置”以显示“ 使用区域设置更改类型 ”对话框,以选择数据类型并对其应用特定的区域设置。 此区域设置替代Power Query区域设置。 有关详细信息,请参阅为数据 (Power Query) 设置区域设置或区域。
默认情况下,对于非结构化源,Power Query根据表的前 200 行自动检查和检测列类型和标题。 启用此设置后,Power Query在第一个 Source 步骤之后自动向查询添加两个步骤:
-
步骤:已升级的标头 将表的第一行提升为列标题。 此步骤等效于“开始”选项卡中的“使用第一行作为标题”命令。 例如:= Table.TransformColumnTypes(#"Promoted Headers,{{"OrderID", type number}, {"CustomerID", type text}, {"EmployeeID", type number}, {"OrderDate", type date}, {"RequiredDate", type date}, {"ShipName", type text}})
-
步骤:更改了类型 根据检查每个列中的值,将 任意 数据类型的值转换为数据类型。 此步骤等效于“转换”选项卡中的“检测数据类型”命令。 例如: = Table.TransformColumnTypes(Source,{{"OrderID", type number}, {"CustomerID", type text}, {"EmployeeID", type number}, {"OrderDate", type date}, {"RequiredDate", type date}, {"ShipName", type text}})
Procedure
-
在Power Query 编辑器中,选择“文件 ”>“选项”和“ 查询选项”>设置。
-
设置所有工作簿的选项 在“ 全局”下的左窗格中,选择“ 数据加载”,然后在 “类型检测”下的右窗格中,选择以下选项之一:
-
始终检测非结构化源的列类型和标头
-
根据每个文件的设置检测非结构化源的列类型和标头
-
从不检测非结构化源的列类型和标头
-
-
设置打开的工作簿的选项 在“ 当前工作簿”下的左窗格中,选择“ 数据加载”,然后在“ 类型检测 ”下的右窗格中,选择或清除“ 检测非结构化源的列类型和标头”。