诸多的对于power query入门到实战80篇,power query这个问题都颇为感兴趣的,为大家梳理了下,一起往下看看吧。
1、列表。Combine从字面上也很好理解,就是合并多个列表:
(资料图片仅供参考)
2、下图是不同家庭的数据。每个户主在第一排(如黄色标注的牢房),家庭成员在户主以下至下一个户主。每个族都需要显示为一行。
3、首先,选择数据区域中的任意单元格,然后单击“数据-来自表/区域”将数据加载到超级查询编辑器中,以生成名为Source的表。
4、第二步,用桌子。Group函数根据“与户主的关系”一栏进行分组,注意Table.Group的第五个参数,结果如下:每个家庭成员放入一个表。
5、=table. Group (source," relationship with householder, {"New" each_}, 0, (x, y)=Number. From(y=" head of household"))
6、第三步是想办法将每个表中的多行转换成一行。因为列名不能重复,所以姓名、性别等列名需要加1、2、3、4,以区分家庭的不同成员。用桌子。ColumnNames函数获取列名。
7、那就转换吧。
8、let
9、Source=Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
10、A=form. Group (Source," Relationship with Head of Household, {"New" each)
11、[
12、a=Table.ColumnNames(_),
13、b=List.TransformMany({1.Table.RowCount(_)},each a,(x,y)=yText.From(x)
14、)
15、][b]
16、}
17、0, (x, y)=number. From(y=" head of household)
18、)
19、in
20、A
21、第四步,标题生成后,你需要把各个家庭的多行人员信息(每个人的信息都是一个列表)连接起来,形成一个列表,这里我们用的是函数List。结合!
22、List.Combine(Table.ToRows(_))
23、第五步,连接生成的标题和内容,生成新的单行表格。
24、let
25、Source=Excel.CurrentWorkbook(){[Name="Table1"]
26、}[Content],
27、A=form. Group (Source," Relationship with Head of Household, {"New" (z)=1
28、#table(
29、List.TransformMany(
30、{1.Table.RowCount(z)},each Table.ColumnNames(z),(x,y)=yText.From(x)
31、),
32、{
33、List.Combine(Table.ToRows(z))
34、}
35、)
36、}
37、0, (x, y)=number. From(y=" head of household)
38、)
39、in
40、A
41、最后,加深新列,然后合并各个家族的表,并上传到Excel工作表中。
42、最终代码如下:
43、let
44、Source=Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
45、A=form. Group (Source," Relationship with Head of Household, {"New" (z)=1
46、#table(
47、List.TransformMany(
48、{1.Table.RowCount(z)},each Table.ColumnNames(z),(x,y)=yText.From(x)
49、),
50、{
51、List.Combine(Table.ToRows(z))
52、}
53、)
54、}
55、0, (x, y)=number. From(y=" head of household)
56、)
57、in
58、Table.Combine(A[New])
59、个人推荐
60、最终效果如图。
以上就是power query这篇文章的一些介绍,希望对大家有所帮助。
X 关闭
Copyright © 2015-2022 亚洲建筑网版权所有 备案号:京ICP备2021034106号-51 联系邮箱:5 516 538 @qq.com