使用 @ 写一个根据出库数量倒推出先进先出的出库明细
M函数如下:
let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
PV= Table.ToRecords(Table.ReverseRows(Table.SelectRows(源,each [购货时间]<=#datetime(2018,9,3,0,0,0) and [产品]="A"))),
Fx=(x as list,b as list,z as number)=>
let
A=x{0},
B=z-A[购货数量],
C=if B>0 then @Fx(List.Skip(x,1),b&{A},B) else Table.FromRecords(b&{A&[购货数量=z]})
in
C
in
Fx(PV,{},4)
需要事先筛选掉出库日期之后的日期,然后反转行,然后转换表成为record
第一参数为处理后的表,第二参数应该为一个{}盛放结果,第三参数为出库数量
有兴趣的可以看看
ID69416870
Ntt.Docomo
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)