本节通过一个实例来讲解之前的所学的行、列、表的构造。
    需求如下图所示,要求:统计实际业绩大于等于计划业绩的数据记录(完成业绩)。
    33、Power Query-统计员工完成业绩的记录 - 图1

    比如第一个员工“休闲海”,他就是这样的好员工,实际业绩大于等于计划业绩,则会统计出来。
    分析:
    33、Power Query-统计员工完成业绩的记录 - 图2

    我们使用上图的方法,将“行1到倒数第二行”的数据同“第二行至最后一行”的数据相比,若小于等于,则为True。
    另外一个条件是 “行1到倒数第二行”的“状态”为“计划”,满足这两个条件,就是我们想要的数据。
    按照上头的思路,我们进入PQ处理。
    这里将综合运用以前所学的知识点,比如下图,将向下填充数据。
    33、Power Query-统计员工完成业绩的记录 - 图3

    然后我们新建一个“空查询”,目的就是找出上面的行,从而对其“业绩”进行比较。
    上面一共有16行记录,则我们需要从第一行到倒数第二行,索引则是0~14。
    33、Power Query-统计员工完成业绩的记录 - 图4

    但是我们有没有发现,若这里钉死了14,以后我们动态的增减数据会很麻烦,所以,下面我们需要得到“表1”的所有行,然后减去2,就是我们想要的效果。
    如何得到“表1”的行数?
    下面介绍一个笨办法。
    33、Power Query-统计员工完成业绩的记录 - 图5

    然后看它的编辑栏里的函数。
    33、Power Query-统计员工完成业绩的记录 - 图6

    “= List.NonNullCount(向下填充[姓名])”。
    复制过去即可。
    = {0..List.NonNullCount(表1[姓名])-2}

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

    接下来就是添加一列,进行我们上面的对比操作。
    33、Power Query-统计员工完成业绩的记录 - 图8

    1. if 1[业绩]{[Column1]} <= 1[业绩]{[Column1]+1} and 1[状态]{[Column1]} = "计划" then 1[姓名]{[Column1]} else null

    这个判断表达式不难理解吧,就是我们之前的逻辑。
    33、Power Query-统计员工完成业绩的记录 - 图9
    然后我们进行数据的整理,去掉第一列,剔除null值。
    同“表1”进行合并。
    33、Power Query-统计员工完成业绩的记录 - 图10
    得到我们想要的效果。
    33、Power Query-统计员工完成业绩的记录 - 图11
    最后,这个方法很繁琐,其实是有更加容易的方法。
    比如选中“状态”,对“业绩”进行透视列。
    33、Power Query-统计员工完成业绩的记录 - 图12

    然后做个比较即可。
    33、Power Query-统计员工完成业绩的记录 - 图13

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

    最后进行“逆透视列”。
    33、Power Query-统计员工完成业绩的记录 - 图15

    本例仅供巩固之前所学。