powerquery分组_Power Query 神奇的分组统计1
正文:
今天给大家分享一下,在PQ时分组的一些玩法。
案例一:
关于分组的玩法我收集了几个案例,往后会一个个写出来,今天会先来点简单的。
要求:
左表的数据转换成右表的结构。
这个问题如果写VBA来处理也不难,判断装数组再join一下,应该就可以了,我们今天来用Power Query来处理下。
= Table.Group(源,"类型",{"a",each Text.Combine([值],",")})
老规矩先上代码。
额。。。这时候你可能会想,大叔,你代码是不是复制少了,这么复杂的问题,你怎么就这么丁点代码?!!实际上就这么一行代码就可以解决,是不是惊呆了,嘻嘻!!
解答:
下面我们简单的看看,这个分组函数的说明。
第一参数是表,第二参数是你要分组的列名,第三参数可以理解为处理方式。第四,第五参数放在后面再讲。
华丽的分割线。
案例二:
来个综合的实战案例。
要求:
有接触过装修类或者工程类工作的朋友应该有经验。很多时候做一个工程会用同一种材料,但会用在不同的地方。但是往往我们要在采购材料之前先计算好用量。
左表是一张数据表,序号里的一..二..三代表不同的项目,数量列里记录的是项目里字项目的用量,有些数据是直接记录用量,有些数据记录的是用量的计算方法,比如(8.6*0.18)。最终我们最后要计算出每一个项目的总用量。
let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
a = Table.Group(
Table.FillDown(源,{"序号"}),"序号",
{"a",each Expression.Evaluate(
Text.Combine(
List.Transform(List.Select([数量],(x)=> x<>null),each Text.From(_)),"+"
)
)
}
)
in
a
既然要统计分组的数据,那么同样的套路,第一步用Table.Group就肯定没有错。注意,因为数据源的序号列只有第一行有数据,所以我们要先对序号列进行向下埋充处理。处理后再作为Table.Group的第一参数。
接下来我们要对第三参数里的自变量作处理,先要把不为null的数据提取出来。List.Select([数量],(x)=> x<>null)这里担心内层的自变量跟外层的有冲突,所以我这里先把内层的定义成x。
现在好像只要把List里面的值全部加起来就能达到我们想要的效果,问题就是要怎样加,我想到的是Expression.Evaluate,这个函数可以直接把带有公式的字符串直接运算并返回对应的结果,比如"1+2+3*4",可以直接得出15。
List里的数据转换成一串字符串,好不好处理,肯定好处理啊,直接外层套一个Text.Combine不就可以了吗,我当时是这样想的,逻辑上没问题,但是会出错,我们一起来看看。
出错原因也很简单,数值是不能直接合并的,要多走一步,把数值先换化成文本,再来合并应该就没问题了。
最后的最后,套上一层Expression.Evaluate,大功告成!!
感谢观看!!
剧透下期分享神奇的分组2,神秘的第四,第五参数会上场。
总结:
知识决定思路,以上仅为大叔个人解法,绝不是唯一解。欢迎各路大咖留言指点。
如果您没能看懂代码,也不要紧,因为目前国内会玩M语言的人并不算多,如果你对M感兴趣的话,建议您可以拜读一下施总的博客Power Query爱好者-pqfans_M语言学习资料_教程_分享_论坛_博客,是目前国内唯一一个可以免费学习到M的地方。
感谢观看,Thanks!
powerquery分组_Power Query 神奇的分组统计1相关推荐
- powerquery分组_Power Query实现数据分组压缩的思路分享
前几日群里E友们出的题,我们就直接借用一下案例(偷懒),核心还是来熟悉一下PQ的分组及一些常用的函数 感受一下,PQ在数据处理方面的强大!讲解方式:动画演示,主要分解思路,适当函数讲解!演示版本:36 ...
- list 分组_Power query 灵活处理员工特殊出勤问题(3)-TableGroup分组 amp; 合并查询
断更了几天, 忙着别的事情去.....今天终于好好坐下, 继续写分享. 这一期主要内容是, 利用TableGroup分组 & 最终合并查询; 一. 数据反馈 前几天, 妹纸发来消息说数据不对, ...
- powerquery分组_Power Query系列 - 排序Ranking
Power Query系列 - 排序Ranking 难度: ★★☆☆☆(1星) 适用范围: ★★★☆☆(3星) 概况: 在数据分析中,我们常常需要对数据进行排序,同时我们想知道某个项目或者产品的排名, ...
- powerquery分组_power query 分组合并展示
一.需求:根据部门汇总业绩,并展示员工业绩明细(效果图如下) 二.实现步骤: 1.将原始数据加载至power query中处理 2.对数据进行基本处理,这里因一个员工有多条数据,事先进行员工业绩汇总 ...
- powerquery分组_power query 如何累计求和?如何分组分条件?
Excel分组求和方法更新 =SUMIFS(D$2:D2,C$2:C2,C2) sumifs是条件求和(分组求和) sum(D$2:D2)下拉是累计求和 结合两个公式就可以做分组累计求和 ------ ...
- powerquery分组_Power Query中的Table.Group函数详细分析
在我们操作过程中,使用分组依据进行汇总计算的操作应该是非常的多的,我们对于这个函数还是非常有必要深入了解下. Table.Group 按为每行指定的列 key 中的值对 table 的行进行分组. 对 ...
- pandas使用groupby函数和count函数返回的是分组下每一列的统计值(不统计NaN缺失值)、如果多于一列返回dataframe、size函数返回分组下的行数结果为Series(缺失值不敏感)
pandas使用groupby函数和count函数返回的是分组下每一列的统计值(不统计NaN缺失值).如果多于一列返回dataframe.size函数返回分组下的行数结果为Series(不区分缺失值和 ...
- pandas使用groupby函数对dataframe进行分组统计、使用as_index参数设置分组聚合的结果中分组变量不是dataframe的索引(index)
pandas使用groupby函数对dataframe进行分组统计.使用as_index参数设置分组聚合的结果中分组变量不是dataframe的索引(index) 目录
- java 多字段分组_java8 stream统计、汇总、多字段分组、多个列汇总统计
前言 本文将展示groupingBy收集器的多个示例,阅读本文需要先准备Java Stream和Java收集器Collector的知识. 一.GroupingBy收集器 Java8的Stream AP ...
最新文章
- 以太坊和EOS的DApps数量飙升但用户量滞后
- oracle导入dmp报无效的sql,oracle施用pl/sql导入数据库备份文件dmp导入失败原因
- undefined reference to 'pthread_create'问题解决
- apache tomcat下32还是64_JDK和Tomcat安装和配置的图文教程
- QML实现酷炫的 Cover Flow 效果(PathView)
- java form action 参数_java发起form请求(有参数,无参数)
- Fish Shell 使用笔记
- onSaveInstanceState与onRestoreInstanceState何时调用、如何使用
- SVD在推荐系统中的应用
- 西安交大计算机网络 笔记,计算机网络笔记整理
- 华为设备BGP中的路由控制与实验
- 8年项目总结:4个G,项目经理必备模板全汇总
- 计算机中win是哪个版本,win7系统应该选择哪个版本比较好
- IDEA启动Tomcat 中文乱码问题
- oracle minus 利用率,Oracle Minus 取差集(也可以用来做分页,但效率不高)
- oracle的month函数的使用方法,oracle next_day,add_month函数
- 永洪科技怎么样_【永洪科技怎么样?】-看准网
- 初次学习Docker没什么经验记录下的笔记
- vcruntime140.dll丢失的解决方法
- 计算机专业助我成长作文600,科技伴随我成长作文