Record.ToTable 格式转换(record format)

boyanx5天前技术教程3

本期案例对表格格式进行转换,前后转换效果如下:

解题套路

1.Record.ToTable

解题思路:思路就是构造可以透视的样式。使用Record.ToTable对行记录进行转换,获得包含两列的表,首行可以删除,也可以通过标题提升进行操作。

接着,通过添加列的方式,添加品名列。此时,Name列包含月份及销售额、利润等字段,这里对其进行拆分。拆分的方式也比较多,这里使用先将“月”替换成“月/”,再对分隔符“/”进行拆分,获得月份及属性列。最后,对属性列进行透视处理。

Table.Pivot(Table.SplitColumn(Table.Combine(Table.AddColumn(源,"a",each Table.AddColumn(Table.Skip(Record.ToTable(_)),"品名",(x)=>[品名]))[a]),"Name",each Text.Split(Text.Replace(_,"月","月/"),"/"),{"月份","属性"}),{"销售额","利润"},"属性","Value")

2.List.Zip

解题思路:将行列与标题字段进行压缩组合,接着依次进行前述1中的步骤(转换为表、添加列、拆分列、透视等操作)。

Table.Pivot(Table.SplitColumn(Table.Combine(Table.ToList(源,each Table.AddColumn(Table.FromRows(List.Skip(List.Zip({Table.ColumnNames(源),_}))),"品名",(x)=>_{0}))),"Column1",each Splitter.SplitTextByLengths({2,3})(_),{"月份","属性"}),{"销售额","利润"},"属性","Column2")

3.Table.UnpivotOtherColumns

解题思路:对源数据进行逆透视处理,接着是拆分列、透视处理。这里会有个小问题,当数据项为空值的时候,逆透视处理的时候会直接消除的,为了保持最后结果的一致性,需要对空值进行处理。

这里可以在逆透视处理前,将空值先进行替换,当然也可以转换以后再进行添加。最后需要多一个排序步骤。

Table.ReorderColumns(Table.Sort(Table.Pivot(Table.SplitColumn(Table.UnpivotOtherColumns(Table.ReplaceValue(源,0,0,(x,y,z)=>if x=null then "" else x,Table.ColumnNames(源)),{"品名"},"属性","值"),"属性",each Text.Split(Text.Insert(_,2,"/"),"/"),{"月份","属性"}),{"销售额","利润"}, "属性", "值"),{"月份","品名"}),{"月份","品名","销售额","利润"})

以上是本期内容。

标签: table.sort

相关文章

很多人问的一个基础问题:Excel Power Query 如何回到前一步设置?

之前的案例给大家讲解了在数据透视表中如何轻松排序和隐藏 0 值,有的同学问了,同样的需求,如果在 Power Query 中怎么实现?那么今天就来看一下 PQ 如何多条件排序,以及回撤到上一个步骤。案...

Oracle数据库中查询最前面的100条数据,三种方法对比

在Oracle数据库中查询最前面的100条数据,可通过多种方法实现,不同方法适用于不同场景和版本。以下是基于当前技术文档的三种核心方案及其适用性分析:一、使用 ROWNUM 伪列(通用方案,全版本适用...

魔兽世界:ICC冰龙隐藏机制大揭秘,老玩家笑了

ICC的冰龙一直是团队副本中的关键Boss之一。冰龙的严寒技能会强制将所有玩家牵引至其肚子下方,随后释放一个范围极大且伤害极高的AOE攻击,玩家必须迅速逃离该区域以避免致命伤害。近期,有玩家深入研究发...

PYTHON数据分析必备知识(2)(python数据分析范例)

1.二分钟快速给项目添加日志信息""" 给项目添加日志信息 """ # 导Python内置包 import logging import time...

Record.ToTable 求多列之间的差异

本期案例是对相同性质的列(字段名中字母一样的为同性质列)进行比较,如果行内对应的两列数据不一样,则在差异列中显示对应的列名名称,否则不显示。前后转换效果如下:解题套路1.Record.ToTable解...

表中数据的排序及数据的筛选(表中数据的排序及数据的筛选方法)

【分享成果,随喜正能量】若不以心生心,则心心入空,念念归静,从一佛国至一佛国。若以心生心,则心心不静,念念归动,从一地狱历一地狱。。《VBA高级应用30例》(10178985),是我推出的第十套教程,...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。