Table.ToList 数据拆分汇总案例

本期案例涉及多名业务员的分析结果显示在一行上,要求对业务员的分析结果进行统计,前后转换结果如下:

解题套路

1.Table.ToList

解题思路:对行进行遍历拆分,接着对获得的结果进行压缩操作,这样就获得了业务员与结果一一对应的列表。最后转换成表,通过分组求和获得最终的结果。

Table.Group(Table.Combine(Table.ToList(源,each Table.FromRows(List.Zip(List.Transform(_,(x)=>Text.SplitAny(Text.From(x)," /"))),{"业务员","结果"}))),"业务员",{"结果",each Expression.Evaluate(Text.Combine([结果],"+"))})

这里Table.ToList也可以用组合函数List.Transform+Table.ToRows:

Table.Group(Table.FromRows(List.Combine(List.Transform(Table.ToRows(源),each List.Zip(List.Transform(_,(x)=>Text.SplitAny(Text.From(x)," /"))))),{"业务员","结果"}),"业务员",{"结果",each List.Sum(List.Transform([结果],Number.From))})

或者使用Table.ToColumns,区别在于总体拆分后在进行压缩操作:

Table.Group(Table.FromRows(List.Zip(List.Transform(Table.ToColumns(源),each List.Combine(List.Transform(_,(x)=>Text.SplitAny(Text.From(x)," /"))))),{"业务员","结果"}),"业务员",{"结果",each List.Sum(List.Transform([结果],Number.From))})

当然,也可以使用Table.ReplaceValue、Table.CombineColumns等函数进行转换,所谓换汤不换药,基本的操作思路一样,不同在于外层函数的区别。

以上是本期内容。

展开阅读全文

页面更新:2024-03-12

标签:换汤不换药   组合   遍历   外层   本期   业务员   函数   思路   区别   案例   操作   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top