添加或更改数据类型 (Power Query)

应用对象
Microsoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel

可以定义和检测数据类型,但大多数时候不必这样做。 默认情况下,当您连接到以下位置时,会自动进行数据类型检测:

  • 结构化数据源 示例包括所有数据库。 Power Query 从数据源读取表架构,并使用每个列的正确数据类型自动显示数据。
  • 非结构化源 示例包括 Excel、CSV 和文本文件。 Power Query 通过检查表中的值自动检测数据类型。

默认情况下,Power Query 中为非结构化源启用自动数据类型检测,但可以更改选项设置。 在某些情况下,您可能不希望自动执行这些步骤,因为该操作可能会导致数据源刷新错误。 有关详细信息,请参阅 处理数据源错误

Power Query 数据类型

下表列出了 Power Query 中使用的数据类型。

图标 数据类型 说明
“任何”数据类型图标 任何 指示无显式数据类型定义。
待定 二进制 二进制值,例如 Y/N 或 0/1。
待定 固定十进制数 具有向右四位数和向左 19 位数的固定格式。 也称为货币类型。
待定 日期 没有时间且小数值为零的日期。
待定 日期/时间 以十进制数类型存储的日期和时间值。
待定 日期/时间/时区 具有时差的 UTC 日期/时间。
待定 持续时间 转换为十进制数的时间长度。
待定 真/假 布尔值为 True 或 False。
待定 十进制数 一个 64 位 (8 字节) 浮点数。
待定 百分比 带有掩码的固定十进制数,格式要用百分比表示。
待定 文本 以文本格式表示的字符串、数字或日期。
待定 时间 没有日期且小数位左侧没有数字的时间。
待定 整数 一个 64 位 (8 字节) 整数值。

定义和检测数据类型

列的数据类型显示在列标题的左侧,并带有符号化数据类型的图标。

列标题左侧数据类型图标示例

  1. 若要打开查询,请找到之前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询编辑>。 有关详细信息,请参阅在 Excel 中创建、加载或编辑查询 (Power Query)
  2. 若要检测数据类型,请选择列,然后选择“ 转换>检测数据类型”。 如果当前数据类型为 “任何”,并且你希望列具有特定的数据类型,则可以执行此操作。
  3. 要定义数据类型,请选择 >数据类型,然后从下拉菜单中选择数据类型。

提示 还可以选择列标题左侧的图标。 除了每种数据类型,还可以选择列表底部的“ 使用区域设置 ”以显示“ 使用区域设置更改类型 ”对话框,以选择数据类型并向其应用特定区域设置。 此区域设置将替代 Power Query 区域设置。 有关详细信息,请参阅设置数据 (Power Query) 的区域设置或区域

设置自动检测数据类型和列标题

默认情况下,对于非结构化源,Power Query 会基于表的前 200 行自动检查和检测列类型和标题。 启用此设置后,Power Query 会在第一个步骤之后立即自动将两个步骤添加到查询中:

  • 步骤:提升的标题 将表的第一行提升为列标题。 此步骤相当于“主页”选项卡中的“将第一行用作标题”命令。例如:

    = 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}})

过程

  1. 在 Power Query 编辑器中,选择“文件>选项”和“设置>查询选项”。

  2. 所有工作簿设置选项在左窗格中的“全局”下,选择“数据加载”,然后在右窗格的“类型检测”下,选择以下选项之一:

    • 始终检测非结构化源的列类型和标题
    • 根据每个文件的设置检测非结构化源的列类型和标题
    • 从不检测非结构化源的列类型和标题
       
  3. 设置打开工作簿的选项 在左窗格中的 “当前工作簿”下,选择 “数据加载”,然后在右窗格的“ 类型检测 ”下的“类型检测”中,选中或清除“ 检测非结构化源的列类型和标头”。

另请参阅

Microsoft Power Query for Excel 帮助

根据数据类型添加列

Power Query (docs.com) 中的数据类型