问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用列表、记录或表结构化列 (Power Query)

创作时间:
作者:
@小白创作中心

使用列表、记录或表结构化列 (Power Query)

引用
1
来源
1.
https://support.microsoft.com/zh-cn/office/%E4%BD%BF%E7%94%A8%E5%88%97%E8%A1%A8-%E8%AE%B0%E5%BD%95%E6%88%96%E8%A1%A8%E7%BB%93%E6%9E%84%E5%8C%96%E5%88%97-power-query-d5e552be-c143-4f06-9a5e-0960bbaaf480?ad=cn&rs=zh-cn&ui=zh-cn

在Power Query中处理结构化列(如列表、记录和表)是数据整合和分析的重要步骤。本文将详细介绍这三种结构化列的定义、用途以及如何展开它们以整合数据。同时,还会介绍一些实用的命令和操作技巧,帮助用户更好地理解和使用Power Query。

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

关于结构化列

有三种类型的结构化列:

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

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

桌子 存储与当前数据(主表)具有次要关系的表。 单元格中的Table值指示与当前表或主表的一对多关系。
RecordTable结构化列表示数据源中具有关系模型的关系,例如在 OData 源中具有外键关联的实体或 SQL Server 数据库中的外键关系。

关于展开表结构化列

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

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

展开表结构化列

在此示例中,展开操作扩大Order表,以包括Order_Details.ProductIDOrder_Details.UnitPriceOrder_Details.Quantity列,以将主表Order行和相关表Order_Details行合并在一起。
2.
若要打开查询,请找到以前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询>编辑”。 有关详细信息,请参阅在 Excel 中创建、加载或编辑查询。
注意 该查询必须至少有两个表联接在一个关系中。 有关详细信息,请参阅合并查询。
2.
单击结构化列的列标题中的展开图标 (
) 。
4.
在“列名称”下拉列表中,选择所需的列并清除不需要的列。
6.
选择“确定”。
结果
该表现在包含步骤 3 中选择的每个列的新列。

展开“记录”结构化列

展开“记录”结构化列时,值在数据预览中显示为新列。 如果不将其展开,然后将查询加载到工作表,则列中每个单元格的占位符值为[Record]。
2.
若要打开查询,请找到以前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询>编辑”。 有关详细信息,请参阅在 Excel 中创建、加载或编辑查询。
4.
若要查看特定值而不展开列,请在具有Record值的结构化列中选择一个值。 例如:
6.
选择结构化列的列标题中的展开图标 (
) 。
8.
在“列名称”下拉列表中,选择所需的列并清除不需要的列。

10.
选择“确定”。
结果
该表现在包含步骤 4 中选择的每个列的新列。

展开列表结构化列

展开列表结构化列时,值在数据预览中显示为新列。 如果不将其展开,然后将查询加载到工作表,则列中每个单元格的占位符值为[List]。
2.
若要打开查询,请找到以前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询>编辑”。 有关详细信息,请参阅在 Excel 中创建、加载或编辑查询。
4.
若要查看特定值而不展开列,请在具有List值的结构化列中选择一个值。 例如:

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

执行下列操作之一:

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

若要创建由分隔符分隔的文本值列表,请选择“提取值”。
10.
选择“确定”。
展开到新行的结果
使用分号 (;) 作为分隔符的提取值的结果

使用结构化列组中的命令

可以使用 Power Query 编辑器功能区上的以下附加命令来处理结构化列:
2.
选择“开始>转换”,然后在“结构化列”组中选择以下命令之一。
扩大 将列表、记录或表) (结构化列提升为当前查询表中的新列和行。 此命令与“展开
”图标相同。
骨料 使用聚合函数(包括SumCount)汇总结构化列中的值。 此命令与选择“展开
”图标,然后在“列名称”下拉对话框中选择“聚合”相同。 它仅适用于结构化列。
提取值使用指定的分隔符将结构化列表列的值合并为单个文本值,从而提取这些值。
备注 还可以使用“数字列”组中的“统计信息”命令, (选择“转换>统计信息) 表结构化列。 它具有与 Power Query 编辑器功能区中“列表工具”下“转换上下文”选项卡的“数字列表”组中的“统计信息”命令相同的聚合函数列表。

使用“转换上下文”选项卡

可以使用“向下钻取”命令在 Power Query 编辑器功能区中的“列表工具”下显示“转换上下文”选项卡,并显示用于处理结构化列的其他命令。 不要将此“转换”选项卡与 Power Query 编辑器功能区中定期提供的其他“转换”选项卡混淆。
2.
右键单击列标题,然后选择“向下钻取”。
4.
若要将“列表”或“记录”转换为表,请在“列表工具”下,选择“转换>到表”。
6.
若要保留顶部、底部或一系列项,请在“列表工具”下选择“转换>保留项”。
8.
若要删除顶部、底部或备用项,请在“列表工具”下选择“转换>删除项”。
10.
若要删除重复值,请在“列表工具”下选择“转换>删除重复项”。 有关详细信息,请参阅保留或删除重复行。
12.
若要撤消项,请在“列表工具”下,选择“转换>反向项”。
14.
若要对数据进行排序,请在“列表工具”下,选择“升序
排序”或“
降序排序”。 有关详细信息,请参阅对数据进行排序。
16.
若要显示各种统计信息,请在“列表工具”下选择“转换>统计信息”。 以下统计信息可用:总和最小值最大值中值平均值标准偏差计数值计数非重复值。 有关详细信息,请参阅聚合列中的数据。

另请参阅

Microsoft Power Query for Excel 帮助
合并查询
对行进行分组或汇总 (docs.com)

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号