PQ实战 | 每天出差到底有几人?

今天是整理的一个网友的实际案例,我们“学以致用”!

需求说明:每个人出差一段时间,统计每天出差几人?

整体思路:按开始和结束日期区间展开,然后按日期分组,计数 和 合并姓名即可

加载进入PQ这里就不啰嗦了,直接进入PQ编辑器编辑!不懂的同学可以去看一下前面的专题基础(共三期)!

点击阅读:PQ 第一期 | Power Query是什么?怎么学?

步骤01 | 根据区间构建日期list

= Table.AddColumn(更改的类型,"日期",each List.Dates([起],Duration.TotalDays([止]-[起])+1,#duration(1,0,0,0)))

计算两个日期之间的天数,可以使用Duration.TotalDays 函数,不包括截至那一天,所以我们需要+1,其他函数之前案例中都有讲解!

List.Date(起始日期,构建多少个,间隔)

duration 是PQ中内置的数据类型,Excel中函数和VBA中是没有这玩意的!

#duration(天,时,分,秒)

所以上面表示间隔一天,也可以设置间隔几天!

步骤02 | 按日期展开

点击两边展开的箭头就可以扩展到新行!

对应的M函数语法:

 Table.ExpandListColumn(表, 展开列的名称)

下一步,我们按日期分组

步骤03 | 按日期分组统计

= Table.Group( #"展开的“日期”","日期",{{"人数",each List.Count([姓名])},{"姓名",each Text.Combine([姓名],",")}})

分组功能是PQ中使用比较多的功能!可以收工操作,然后修改,新手期!

基础语法如下:

Table.Group(表,分组的字段,{{字段1,处理方式1},{字段2,处理2}})

需要分组的字段如果不止一个需要使用list,结果字段可以有多组!

如果只有一组,可以不用再套一层大的list!

进阶分组用法更加灵活强大!

完美收工!

本文由“壹伴编辑器”提供技术支持

(0)

相关推荐