案例收集-table.group

上题:
file
什么要求呢:就是按日期分组,快手分为1组,不是快手的分为一组
结果为
file
这个是群里大佬提供的,考虑到很有价值,所有收集为案例,
群里@error大佬提供的
file
案例复原,
file
代码:

= Table.Group(排序的行, {"月份", "订单来源"}, {{"计数", each _}},1,(x,y)=>let fx=(a,b)=>a&Text.From(b="快手"),c= Comparer.Ordinal(fx(x[月份],x[订单来源]),fx(y[月份],y[订单来源])) in c)

关于这个案例的扩充:
通常我都会做这件事,所谓把别人的东西变成自己的东西,这是一个消化的过程
源数据:
file
file

= Table.Group(更改的类型, {"月份", "订单来源"}, {{"计数", each _}},1,(x,y)=> 
            [fx =(a)=>Number.From(a[月份])+Number.From(a[订单来源]="快手") ,b=fx(x)-fx(y)][b]
                  )

上面这串代码起到了同样的分组效果,解释一下原理
file
日期相同时,返回的结果有二个,一个日期转整数+1(订单来源="快手"),另一个结果是日期整数+0,
让我们添加一个日期,结果会有4种结果,日期整数1+1,日期整数1+0,日期整数2+1,日期整数2+0
每当添加一个日期,就会添加二个分组,由于是全局分组,
结果如下
file
现在我又有新的想法:
file
我想快手按每个月分组,非快手的分成一组并且忽略月份,如何处理:
我其实也不知道.......
经过测试才发现可以实现的

= Table.Group(更改的类型, {"月份", "订单来源"}, {{"计数", each _}},1,(x,y)=> [fx =(a)=>Number.From(a[月份])*Number.From(a[订单来源]="快手") ,b=fx(x)-fx(y)][b])

同样是全局分组:
完全是测试的结果