33、Power Query-统计员工完成业绩的记录

本节通过一个实例来讲解之前的所学的行、列、表的构造。

需求如下图所示,要求:统计实际业绩大于等于计划业绩的数据记录(完成业绩)。


比如第一个员工“休闲海”,他就是这样的好员工,实际业绩大于等于计划业绩,则会统计出来。

分析:


我们使用上图的方法,将“行1到倒数第二行”的数据同“第二行至最后一行”的数据相比,若小于等于,则为True。

另外一个条件是 “行1到倒数第二行”的“状态”为“计划”,满足这两个条件,就是我们想要的数据。

按照上头的思路,我们进入PQ处理。

这里将综合运用以前所学的知识点,比如下图,将向下填充数据。


然后我们新建一个“空查询”,目的就是找出上面的行,从而对其“业绩”进行比较。

上面一共有16行记录,则我们需要从第一行到倒数第二行,索引则是0~14。


但是我们有没有发现,若这里钉死了14,以后我们动态的增减数据会很麻烦,所以,下面我们需要得到“表1”的所有行,然后减去2,就是我们想要的效果。

如何得到“表1”的行数?

下面介绍一个笨办法。


然后看它的编辑栏里的函数。


“= List.NonNullCount(向下填充[姓名])”。

复制过去即可。

= {0..List.NonNullCount(表1[姓名])-2}


接下来就是添加一列,进行我们上面的对比操作。


if 表1[业绩]{[Column1]} <= 表1[业绩]{[Column1]+1} and 表1[状态]{[Column1]} = "计划" then 表1[姓名]{[Column1]} else null
这个判断表达式不难理解吧,就是我们之前的逻辑。

然后我们进行数据的整理,去掉第一列,剔除null值。

同“表1”进行合并。

得到我们想要的效果。

最后,这个方法很繁琐,其实是有更加容易的方法。

比如选中“状态”,对“业绩”进行透视列。


然后做个比较即可。



最后进行“逆透视列”。


本例仅供巩固之前所学。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SAP剑客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值