Applies ToMicrosoft 365 专属 Excel Excel 2024 Excel 2021 Excel 2019 Excel 2016

对于结构化列(例如 ListRecordTable),有与该列关联的相关值。 结构化列在列标题 “展开列”图标 具有“展开”图标。

有三种类型的结构化列:

  • 列表    存储值列表,例如, { 1, 2, 5, 10 } 或 { “hello”, “hi”, “good bye” }。 单元格中的 List 值是最简单的结构化列,不存在表关系。

  • 记录    存储分组到单元中的一组命名字段。 例如, [ FirstName = “Joe”, LastName = “Smith”, Birthdate = #date (2010, 1, 2) ]。 单元格中的 Record 值指示与当前表或主表的一对一关系。

  • 桌子    存储与当前数据(主表)具有次要关系的表。 单元格中的 Table 值指示与当前表或主表的一对多关系。

Record Table 结构化列表示数据源中具有关系模型的关系,例如在 OData 源中具有外键关联的实体或 SQL Server 数据库中的外键关系。

可以使用 “展开 “展开列”图标 ”图标查看相关表中的列。 例如,在 Orders 表中,展开操作将 Order_DetailsOrder 表相关的记录汇集在一起,以将订单行项与每个订单合并。 展开操作会扩大主表,以包含辅助表和相关表中的列。 为了说明:

主表包含 列 AB

A 列和 B 列

相关表具有 C 列。

A 列、B 列和相关的 C 列

展开操作会扩大主表以包含 列 C ,并使用 包含 C 列的辅助表和相关表的相关值展开主表。

ABC

总之,展开 结构化列时,值将与其他列一起显示在数据预览版中。 有关组合主表和相关表的详细信息,请参阅了解如何合并多个数据源。 

在此示例中,展开操作扩大 Order 表,以包括 Order_Details.ProductIDOrder_Details.UnitPriceOrder_Details.Quantity 列,以将主表 Order 行和相关表Order_Details行合并在一起。

示例结构化表数据

  1. 若要打开查询,请找到以前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“ 查询 > 编辑”。 有关详细信息 ,请参阅在 Excel 中创建、加载或编辑查询注意    该查询必须至少有两个表联接在一个关系中。 有关详细信息,请参阅合并查询。 

  1. 单击结构化列的列标题中的展开图标 (展开) 。

  2. 在“ 列名称” 下拉列表中,选择所需的列并清除不需要的列。  选择列名称

  3. 选择“确定”。

结果

该表现在包含步骤 3 中选择的每个列的新列。 

展开结构化表列的结果

展开 “记录 ”结构化列时,值在数据预览中显示为新列。 如果不将其展开,然后将查询加载到工作表,则列中每个单元格的占位符值为 [Record]。

  1. 若要打开查询,请找到以前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“ 查询 > 编辑”。 有关详细信息 ,请参阅在 Excel 中创建、加载或编辑查询

  2. 若要查看特定值而不展开列,请在具有 Record 值的结构化列中选择一个值。 例如: 展开“记录复杂”列

  3. 选择结构化列的列标题中的展开图标 (展开) 。

  4. 在“ 列名称” 下拉列表中,选择所需的列并清除不需要的列。 单击结构化记录列的“展开”

  5. 选择“确定”。

结果

该表现在包含步骤 4 中选择的每个列的新列。 

展开结构化记录列的结果

展开列表结构化列时,值在数据预览中显示为新列。 如果不将其展开,然后将查询加载到工作表,则列中每个单元格的占位符值为 [List]。

  1. 若要打开查询,请找到以前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“ 查询 > 编辑”。 有关详细信息 ,请参阅在 Excel 中创建、加载或编辑查询

  2. 若要查看特定值而不展开列,请在具有 List 值的结构化列中选择一个值。 例如: 展开列表复杂列

  3. 选择结构化列的列标题中的展开图标 (展开) 。

  4. 执行下列操作之一:

    • 若要为每个列表值创建一行,请选择“ 展开到新行”。

    • 若要创建由分隔符分隔的文本值列表,请选择“ 提取值”。

  5. 选择“确定”。

展开到新行 的结果

按行展开结构化列表列的结果

使用分号 (;) 作为分隔符的提取值 的结果

通过使用分隔符提取值来展开结构化列表列的结果

可以使用 Power Query 编辑器功能区上的以下附加命令来处理结构化列:

  1. 选择“ 开始 > 转换 ”,然后在“ 结构化列” 组中选择以下命令之一。

    扩大    将列表、记录或表) (结构化列提升为当前查询表中的新列和行。 此命令与 “展开 展开 ”图标相同。骨料    使用聚合函数(包括 Sum Count)汇总结构化列中的值。 此命令与选择“展开 展开 ”图标,然后在“列名称”下拉对话框中选择“聚合”相同。 它仅适用于 结构化列。提取值 使用指定的分隔符将结构化 列表 列的值合并为单个文本值,从而提取这些值。

备注    还可以使用“数字列”组中的“统计信息”命令, (选择“转换 > 统计信息) 表结构化列。 它具有与 Power Query 编辑器功能区中“列表工具”下“转换上下文”选项卡的“数字列表”组中的“统计信息”命令相同的聚合函数列表。

可以使用“向下钻取”命令在 Power Query 编辑器功能区中的“列表工具”下显示“转换上下文”选项卡,并显示用于处理结构化列的其他命令。 不要将此“ 转换 ”选项卡与 Power Query 编辑器功能区中定期提供的其他“ 转换 ”选项卡混淆。

  1. 右键单击列标题,然后选择“ 向下钻取”。

  2. 若要将 “列表” 或“ 记录 ”转换为表,请在“ 列表工具”下,选择“ 转换 > 到表”。

  3. 若要保留顶部、底部或一系列项,请在 “列表工具”下选择“ 转换 ”> “保留项”。

  4. 若要删除顶部、底部或备用项,请在 “列表工具”下选择“ 转换 > 删除项”。

  5. 若要删除重复值,请在 “列表工具”下选择“ 转换 > 删除重复项”。 有关详细信息,请参阅 保留或删除重复行

  6. 若要撤消项,请在 “列表工具”下,选择“ 转换 > 反向项”。

  7. 若要对数据进行排序,请在 “列表工具”下,选择“ 升序 Excel 中的升序命令,按升序或最小数到最大数的顺序排序 排序”或“Excel 中的降序命令,按降序或最大数到最小数的顺序排序降序排序 ”。 有关详细信息,请参阅 对数据进行排序

  8. 若要显示各种统计信息,请在 “列表工具” 下选择“ 转换 > 统计信息”。 以下统计信息可用: 总和最小值最大值中值平均值标准偏差计数值计数非重复值。 有关详细信息,请参阅 聚合列中的数据

另请参阅

Microsoft Power Query for Excel 帮助

合并查询

对行进行分组或汇总 (docs.com)

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。