中关村在线

软件

Power Query函数入门

今天介绍Power Query中的一个基础函数List.Combine。在Power Query中,用大括号包围的数据称为列表(List),例如{{1, 2}, {3, 4}}就是一个列表,其中每个元素本身也是包含两个数值的子列表。该函数的作用是将多个子列表合并为一个单一的扁平化列表,常用于数据整理与转换过程中的结构重组。

1、 List.Combine顾名思义,就是将多个列表合并为一个整体。

2、 所示,每户家庭数据中,户主位于首行(如黄色单元格所示),其下为该家庭成员,直至下一户主前。需将每个家庭信息整合为一行展示。

3、 首先选中数据区域中的任一单元格,点击选项卡下的,将数据导入Power Query编辑器,系统将自动生成名为Source的表格。

4、 第二步,通过Table.Group函数,依据与户主关系字段进行分组,特别注意使用该函数的第五个参数。处理后,每个家庭的所有成员均被整合到一个独立的表格中。

5、 按与户主关系对数据源进行分组,保留每组内容并生成新列,排序规则为将户主排在最前,其余按默认顺序排列,最终形成以该字段为键的分组结果。

6、 第三步是将每个表格中的多行数据合并为单行。由于列名不可重复,需在姓名、性别等字段后添加数字1、2、3、4等,以区分家庭成员。可通过调用Table.ColumnNames函数获取原始列名,再进行相应重命名与数据转换操作,最终实现多行信息整合到一行中。

7、 let

8、 将源数据按与户主关系分组,并生成新表,每组包含对应的新字段内容。

9、 [

10、 )

11、 }

12、 将坐标(x,y)处的值判断是否为户主,返回数值结果。

13、 )

14、 in

15、 A

16、 第四步,在生成标题后,需将每个家庭多行成员信息(每人为一个列表)合并为单一列表,此时可使用List.Combine函数实现数据整合,方便后续处理与分析。

17、 将生成的标题与内容合并,形成一行新的表格数据。

18、 let

19、 对源数据按与户主关系分组,并为每组生成新列,内容由函数z确定。

20、 ),

21、 {

22、 }

23、 )

24、 }

25、 根据条件判断,若y等于户主,则返回1,否则返回0。

26、 )

27、 in

28、 A

29、 最后生成New列,合并各家庭的表格数据,统一上传至Excel工作表即可完成操作。

30、 代码如下所示

31、 let

32、 将源数据按与户主关系分组,并生成新字段,每组对应一个新值。

33、 ),

34、 {

35、 }

36、 )

37、 }

38、 根据条件判断,若y等于户主则返回0,否则转换为数值类型。

39、 )

40、 in

41、 建议仅供参考

42、 最终效果见下图。

展开全文
人赞过该文
内容纠错

相关电商优惠

评论

更多评论
还没有人评论~ 快来抢沙发吧~

读过此文的还读过

点击加载更多

内容相关产品

说点什么吧~ 0

发评论,赚金豆

收藏 0 分享
首页查报价问答论坛下载手机笔记本游戏硬件数码影音家用电器办公打印 更多

更多频道

频道导航
辅助工具