在Power Query中如何插入自定义行?

在Power Query中如果想要插入自定义的一行,有一个专门的函数Table.InsertRows,这个函数可以帮助我们在指定行的位置插入我们所需要的数据,但是这个函数需要我们把每一列的数据都要补上,但是大部分情况我们可能只需要在某一列中插入一个指定数据即可,这种该如何操作呢?

这种情况我们只需要进行Table.InsertRows函数即可。

Table.InsertRows(源,3,
                 {[姓名="总计",
                   成绩=List.Sum(源[成绩]),
                   学科=null]}
                )

那如果列数很多的话如何处理呢?总不至于每一次插入都要把其他字段数据都用null表示输入吧,肯定得想办法用到批量的功能。

我们看下上面的公式,哪些会用到批量。

1. 记录中的字段名,也就是表格的标题

这个我们可以通过Table.ColumnNames进行获取。

2. 记录中的值。批量的null,我们要把其他未输入的字段名都用null来填充

null的数量是列名中除我们指定列数据以外都需要赋值null

Table.InsertRows(源, 3,      //插入还是需要使用到此函数,这部分都是一样的
               {
               Record.FromList(List.Repeat({null},         //重复null值
                                       Table.ColumnCount(源)  //重复的数量
                                       ),
                              Table.ColumnNames(源)  //记录中的标题
                             ) &[姓名="总计",成绩=List.Sum(源[成绩])]
               })

这里我们使用了个记录的合并技巧,也就是2个记录合并,如果是记录字段名一样则会以最后一个记录的值替换原有记录中的值。

你可能感兴趣的:(在Power Query中如何插入自定义行?)