ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: Muse_Xie

[求助] 利用QUERY计算重复库存量与实际需求量

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-10-30 21:27 | 显示全部楼层
潘豌豆 发表于 2022-10-30 18:44
这个要求有点奇怪,应该放在前期进行处理的,后期有点复杂,对我来说的话。。。
试着解决了下,尽力了

感谢潘生,您能方便代码或者压缩包帮忙贴下么,我再试试。谢谢!

TA的精华主题

TA的得分主题

发表于 2022-10-30 21:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
可简单参考一下

计算上行库存差.zip

21.03 KB, 下载次数: 3

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-10-30 22:05 | 显示全部楼层
本帖最后由 Muse_Xie 于 2022-10-30 22:19 编辑

你好,图片中的红色的步骤DATE请问是在哪里能操作的? image.jpg

应该是直接在高级编辑器里写入是吧。

有两项想问的。谢谢!
分组依据中的所有行,是代表什么呢?

请问核心的代码具体是在处理什么呢。谢谢!

请问是在哪里写这个公式还是操作?

请问是在哪里写这个公式还是操作?

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-10-30 22:36 | 显示全部楼层

我加上订单日期和订单号的话,应该如何加呢。数据发生了变化?

发生了变化

发生了变化

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-10-30 22:36 | 显示全部楼层
Muse_Xie 发表于 2022-10-30 22:36
我加上订单日期和订单号的话,应该如何加呢。数据发生了变化?

let
    源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
    分组的行 = Table.Group(源, {"订单日期", "订单号", "产品编码"}, {{"A", each _, type table [订单号=number, 订单日期=datetime, 产品编码=number, 订单数量=number, 废品率=number, 实发数量=number, 库存数量=number, 实发与库存差=number]}}),
    data = Table.TransformColumns(分组的行,{"A",each [a=_,b=Table.SelectColumns(a,{"实发数量","库存数量"}),c=Table.ToColumns(b),d=List.Zip({List.Repeat(List.Distinct(c{1}),List.Count(c{0})-1),List.FirstN(List.Transform({1..List.Count(c{0})},each List.Sum(List.FirstN(c{0},_))),List.Count(c{0})-1)}),e=Table.AddColumn(Table.FromColumns({c{0},List.Distinct(c{1})&List.Transform(d,each _{0}-_{1})},{"实发数量","库存数量"}),"实发与库存差异",each [实发数量]-[库存数量])][e]}),
    #"展开的“A”" = Table.ExpandTableColumn(data, "A", {"实发数量", "库存数量", "实发与库存差异"}, {"实发数量", "库存数量", "实发与库存差异"})
in
    #"展开的“A”"

TA的精华主题

TA的得分主题

发表于 2022-10-30 22:54 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Muse_Xie 发表于 2022-10-30 22:36
我加上订单日期和订单号的话,应该如何加呢。数据发生了变化?

可添加索引,添加三个步骤,第一步是在源表上添加索引(固定产品编号的位置),第二步是在我给的结果表上添加索引,通过索引进行表格筛选匹配,最后点击展开需要的列就可以了

TA的精华主题

TA的得分主题

发表于 2022-10-30 23:08 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
刚更新了一下,看有没有帮助到你

计算上行库存差.zip

21.04 KB, 下载次数: 0

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-10-30 23:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
潘豌豆 发表于 2022-10-30 22:54
可添加索引,添加三个步骤,第一步是在源表上添加索引(固定产品编号的位置),第二步是在我给的结果表上 ...

已经做合并查询了,可以了。理解了就是用索引去锁定他是吧。
先前你贴的那个图片代码是一个订单三行的显示的。现改用索引,然的用订时间和备件编码做排序作索引合并,也真是比较有趣的。再次感谢你了

TA的精华主题

TA的得分主题

发表于 2022-11-1 09:08 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. let
  2.     库存 = Excel.CurrentWorkbook(){[Name="表3"]}[Content],
  3.     订单 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
  4.     自定义1 =
  5.         Table.Group(
  6.             订单,
  7.             "产品编码",
  8.             {
  9.                 "q",
  10.                 each
  11.                     let
  12.                         n = List.Select( Table.ToRows( 库存 ), (x)=> x{0} = [产品编码]{0} ){0}?{1}?,    //检索库存表对应的数量
  13.                         a = List.Accumulate( List.RemoveLastN( [实发数量] ), {n}, (x,y)=> x & { List.Last( x ) - y } ),    //库存累计扣除
  14.                         b = Table.FromColumns( Table.ToColumns( _ ) & {a}, Table.ColumnNames( _ ) & {"库存"} ),    //重构表格,添加库存列
  15.                         c = Table.AddColumn( b, "库存差", (x)=> x[实发数量] - x[库存] )    //添加库存差
  16.                     in
  17.                         c
  18.             }
  19.         )[q],
  20.     自定义2 =
  21.         Table.Combine( 自定义1 )
  22. in
  23.     自定义2
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 15:55 , Processed in 0.039861 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表