对于结构化列(如 List、 Record 或 Table),存在与该列关联的相关值。 结构化列在列标题中具有“展开”图标 “
。
关于结构化列
结构化列分为三种类型:
- 列表 存储值列表,例如,{ 1, 2, 5, 10 } 或 { “hello”, “hi”, “good bye” }。 单元格中的 List 值是最简单的结构化列,没有表关系。
- Record 存储一组分组到一个单元中的命名字段。 例如 [ FirstName = “Joe”, LastName = “Smith”, Birthdate = #date (2010, 1, 2) ]。 单元格中的 Record 值表示与当前表或主表的一对一表关系。
- 表格 存储与当前数据(即主表)有次要关系的表。 单元格中的 Table 值指示与当前表或主表的一对多关系。
记录和表结构化列表示数据源中具有关系模型的关系,例如 OData 源中具有外键关联的实体或 SQL Server 数据库中具有外键关系的实体。
关于展开表结构化列
可以使用 展开
查看相关表中的列。 例如,在 Orders 表中,展开操作将与 Order 表相关的Order_Details记录汇集在一起,以将订单行项与每个订单合并。 展开操作会扩大主表以包含辅助表和相关表中的列。 为了说明:
主表具有列 A 和 B。
相关表包含列 C。
展开操作会扩大主表以包括列 C ,并使用包含列 C 的辅助表和相关表中的相关值展开主表。
总而言之,当您展开 表 结构化列时,值将与数据预览中的其他列一起显示。 有关合并主表和相关表的详细信息,请参阅 了解如何合并多个数据源。
展开表结构化列
在此示例中,展开操作会扩大 Order 表以包括 Order_Details.ProductID、 Order_Details.UnitPrice 和 Order_Details.Quantity 列,以便将主表 Order 行和相关表 Order_Details 行合并在一起。
若要打开查询,请找到之前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询编辑”>。 有关详细信息,请参阅 在 Excel 中创建、加载或编辑查询。
备注 该查询必须至少有两个在关系中联接的表。 有关详细信息,请参阅 合并查询。
单击结构化列的列标题中的展开
) 。在“ 列名称 ”下拉列表中,选择所需的列并清除不需要的列。
选择“确定”。
结果
现在,该表为步骤 3 中选择的每一列包含一个新列。
展开记录结构化列
展开 “记录 ”结构化列时,值将在数据预览中显示为新列。 如果未展开它,然后将查询加载到工作表,则会看到列中每个单元格的占位符值 [Record]。
若要打开查询,请找到之前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询编辑”>。 有关详细信息,请参阅 在 Excel 中创建、加载或编辑查询。
若要在不展开列的情况下查看特定值,请在结构化列中选择具有 “记录 ”值的值。 例如:
在结构化列的列标题中选择展开
) 。在“ 列名称 ”下拉列表中,选择所需的列并清除不需要的列。
选择“确定”。
结果
现在,该表为步骤 4 中选择的每一列包含一个新列。
展开列表结构化列
展开列表结构化列时,值将在数据预览中显示为新列。 如果未展开它,然后将查询加载到工作表,则会看到列中每个单元格的占位符值 [List]。
若要打开查询,请找到之前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询编辑”>。 有关详细信息,请参阅 在 Excel 中创建、加载或编辑查询。
若要在不展开列的情况下查看特定值,请在结构化列中选择具有 列表 值的值。 例如:
在结构化列的列标题中选择展开
) 。执行下列操作之一:
- 要为每个列表值创建行,请选择“ 展开到新行”。
- 若要创建由分隔符分隔的文本值列表,请选择“ 提取值”。
选择“确定”。
“展开到新行”的结果
以分号 (;) 作为分隔符的提取值的结果
使用结构化列组中的命令
可以使用 Power Query 编辑器功能区上的以下附加命令来处理结构化列:
选择 “初始>转换 ”,然后在 “结构化列 ”组中选择以下命令之一。
展开 将列表、记录或表) (结构化列提升为当前查询表中的新列和行。 此命令与 展开
。聚合使用聚合函数(包括 Sum 和 Count)汇总表结构化列中的值。 此命令与选择“展开
”图标,然后在“列名称”下拉对话框中选择“聚合”相同。 它仅适用于 表 结构化列。提取值 通过使用指定的分隔符将结构化 列表 列的值合并为单个文本值,提取这些列的值。
备注您还可以使用“数字列”组中的“统计信息”命令 (“选择转换>统计量”) 具有表结构化列。 它具有与 Power Query 编辑器功能区中“列表工具”下的“转换上下文”选项卡的“数值列表”组中的“统计信息”命令相同的聚合函数列表。
使用“转换上下文”选项卡
可以使用“向下钻取”命令在 Power Query 编辑器功能区的“列表工具”下显示“转换上下文”选项卡,并显示其他用于结构化列的命令。 不要将此“转换”选项卡与 Power Query 编辑器功能区常规提供的其他“转换”选项卡混淆。
- 右键单击列标题,然后选择“ 向下钻取”。
- 若要将列表或记录转换为表,请在列表工具下选择>转换为表。
- 若要保留顶部、底部或一系列项目,请在 “列表工具”下选择“ 转换>保留项目”。
- 若要删除顶部、底部或备用项目,请在 “列表工具”下选择“ 转换>删除项目”。
- 若要删除重复值,请在 “列表工具”下选择“ 转换>”“删除重复项”。 有关详细信息,请参阅 保留或删除重复行。
- 若要反转项目,请在 “列表工具”下,选择“ 转换>反转项目”。
- 若要对数据进行排序,请在“ 列表工具”下,选择 Excel 中的“升 序
,或在 Excel 中选择“降 序
。 有关详细信息,请参阅 对数据进行排序。 - 要显示各种统计信息,请在 “列表工具” 下选择“ 转换>统计信息”。 提供以下统计信息:Sum、Minimum、Maximum、Median、Average、Standard、Deviation、Count Values 和 Count Distinct Values。 有关详细信息,请参阅 聚合列中的数据。