[已解决] powerbi 带时间的库存统计,怎么算

  [复制链接]
ameng | 2020-11-5 22:25:51 | 显示全部楼层
  1. let

  2.   源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],

  3.   区分出入库数 = Table.ReplaceValue(源,each [出入库],each -[数量],(v,o,n)=>if o="出库" then n else v,{"数量"}),

  4.   及时库存 = Table.AddColumn(区分出入库数,"库存",each List.Sum(Table.SelectRows(区分出入库数,(x)=>x[商品]=[商品] and x[时间]Number.From(y=0)),each [库存]=0)[B],

  5.                   (x)=>Table.FirstN(x,2)))&

  6.                   Table.LastN(_,1))[时间],

  7.                   {{},{}},(s,c)=>if List.Count(s{0})=List.Count(s{1}) then {s{0}&{c},s{1}} else {s{0},s{1}&{c}}),

  8.                 {"开始时间","结束时间"})

  9.             }

  10.             ),

  11.   展开 = Table.ExpandTableColumn(分组选取开始结束时间, "A", {"开始时间", "结束时间"}, {"开始时间", "结束时间"}),

  12.   计算期间最大库存 = Table.AddColumn(展开,"最大库存",each List.Max(Table.SelectRows(及时库存,(x)=>x[商品]=[商品] and x[时间]>=[开始时间] and x[时间]<=[结束时间])[库存])),

  13.   排序的行 = Table.Sort(计算期间最大库存,{{"开始时间", Order.Ascending}})

  14. in

  15.   排序的行
复制代码


用M好像也不那么容易,不过总体感觉比DAX要容易得到一些,不那么烧脑,可能大神们会有更优化的解。
结果
10561102110545.jpg
回复

使用道具 举报

火嘴 | 2021-4-29 18:42:30 | 显示全部楼层
我只是路过,不发表意见
回复

使用道具 举报

yeung | 2021-6-10 13:59:31 | 显示全部楼层
有空一起交流一下
回复

使用道具 举报

XDKLFMLLML | 2021-6-19 23:26:35 | 显示全部楼层
看起来不错
回复

使用道具 举报

kawai32 | 2021-8-21 09:47:19 来自手机 | 显示全部楼层
努力~~各位。。。
回复

使用道具 举报

阿狼 | 2021-9-19 22:59:59 | 显示全部楼层
介是神马?!!
回复

使用道具 举报

福州巧克力 | 2021-10-12 08:17:56 | 显示全部楼层
前排,哇咔咔
回复

使用道具 举报

bbxing | 2021-10-16 10:07:22 来自手机 | 显示全部楼层
加油站加油
回复

使用道具 举报

独孤狐 | 2021-10-18 06:30:23 来自手机 | 显示全部楼层
沙发~支持云发教育
回复

使用道具 举报

竹茗 | 2021-10-30 23:49:45 来自手机 | 显示全部楼层
顶起顶起顶起
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则