大海:嗯。用函数解的话步骤上省一些,开始之前咱们先确定一下做的思路:工资表原来的数据已经有了,咱们实际只需要构造一个同样多行的重复标题表和一个同样多行的空白表,然后排序就可以了。
小勤:嗯,思路比较明确,但怎么用M函数构造呢?
大海:我们一步步来吧。
Step-01:基础的工资表数据获取到PQ后,首先对基础工资表加个索引列,方便后面合并了标题表和空白表后的排序。
为方便后续合并表时写公式,添加后将步骤名称改为“源加索引”:
Step-02:打开【高级编辑器】,通过M函数添加标题表
修改前代码及需要修改的地方:
修改代码,增加以下函数(公式):
标题=Table.FromList(
Table.ToRecords(源),
Record.FieldNames,
Table.ColumnNames(源)
)
修改后如下(注意其中上一步骤中增加的逗号和in后面要修改的内容):
点击【完成】后,标题表就构建完成了,结果如下图所示:
Step-03:同样的,给标题表增加索引列
Step-04:类似的,添加空白行表
修改前代码及需要修改的地方如下:
加入以下函数(公式):
空行=Table.FromList(
Table.ToRecords(源),
null,
Table.ColumnNames(源)
)
修改后代码如下:
此时结果如下(全都是错误,不过没有关系,PQ中的错误在Excel中就显示为空白):
Step-05:给空白表加索引
Step-06:用M函数将添加了索引列的工资表、标题表和空白表合并在一起(为写合并表公式时含义明确,按照Step-01的方法分别修改标题表加索引的步骤和空白表加索引的步骤名称为“标题加索引”和“空白加索引”)
修改前代码及需要修改的地方如下:
增加合并表的公式:
合并 = Table.Combine(
{标题加索引,源加索引,空白加索引}
)
修改后代码如下:
Step-07:最后,对索引列排序就OK了
小勤:嗯。过程很清晰,就是那几个函数感觉挺复杂的。
大海:这里面用到的函数的确比较多一点儿。其中:
这几个函数你先试着自己查一下文档理解一下,后面2个函数应该不会有什么问题的。
小勤:好的。关于数据结构之间的转换出个系列吧,感觉这部分内容很重要啊。
大海:嗯。正有此意。
本文分享自 Excel到PowerBI 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!