楼上畅神只写了一半,我接着补全一下吧:
let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
分组 = Table.Group(源, {"订单号"}, {"组合", each [商品代码]}),
商品代码 = List.Distinct(源[商品代码]),
商品AB = Table.FromRows(List.TransformMany({1..List.Count(商品代码)}, each List.Range(商品代码,_),(x,y)=>{商品代码{x-1},y}),
{"商品A","商品B"}),
包含A的订单数 = Table.AddColumn(商品AB, "包含A的订单数", each Table.RowCount(Table.SelectRows(分组,(x)=>List.Contains(x[组合],[商品A])))),
包含B的订单数 = Table.AddColumn(包含A的订单数, "包含B的订单数", each Table.RowCount(Table.SelectRows(分组,(x)=>List.Contains(x[组合],[商品B])))),
同时包含AB的订单数 = Table.AddColumn(包含B的订单数, "同时包含A+B的订单数", each Table.RowCount(Table.SelectRows(分组,(x)=>List.ContainsAll(x[组合],{[商品A],[商品B]})))),
总订单数 = Table.AddColumn(同时包含AB的订单数, "总订单数", each Table.RowCount(分组))
in
总订单数