ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 生产bom比对报价BOM--多对一

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-9-16 12:58 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
广东台风肆虐,论坛旧题求助!多个工单BOM根据成品料号去核对报价BOM(先用成品料号找到报价BOM,再对比报价BOM下层的物料&用量,比对差异),谢谢!具体见附件模拟,谢谢! 生产bom比对报价BOM--多对一.rar (14.69 KB, 下载次数: 71)

TA的精华主题

TA的得分主题

发表于 2018-9-16 13:22 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-16 13:34 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-9-16 14:48 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
可以参考 下面 是合并分组的Sql
CREATE VIEW bomByParent AS SELECT 上阶料号,group_concat(SAP_Code,",")||"~"||group_concat(单耗,",") as keyWords FROM bom GROUP BY 上阶料号 ORDER BY CAST(行号 AS int) DESC

先以 上阶料号(你是 成品料号) 分组,然后 分组 组合SAP_code(你是 下层物流料号),行成一个 产品料号,下层物料料号~下层物料料号2~下层物料料号3
的字典,然后,下层物料料号~下层物料料号2~下层物料料号3 作为 key 逐一比对,找出 key 不一致的 产品料号,一致的就是 OK 第一步就行了。

你这里 不一致的key  生产BOM和报价BOM 用 2个left join 就可以找出不 包含的 下级物料料号了。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-9-17 11:21 | 显示全部楼层
SQL解决方案:
  1.     StrSQL = ""
  2.     StrSQL = StrSQL & "SELECT A.[工单号],A.[成品料号],A.[序号],A.[下层物料料号],A.[描述]"
  3.     StrSQL = StrSQL & ",B.[报价用量],B.[报价单价],B.[报价金额]"
  4.     StrSQL = StrSQL & ",B.[生产用量],B.[生产单价],B.[生产金额]"

  5.     StrSQL = StrSQL & ",IIF(B.[报价用量]=B.[生产用量],'OK',IIF(B.[报价用量]=0,'报价BOM没有',IIF(B.[生产用量]=0,'生产BOM没有','不一样'))) AS 结果A"
  6.    
  7.     StrSQL = StrSQL & " FROM ("
  8.    
  9.     StrSQL = StrSQL & "SELECT MAX([工单号]) AS [工单号],[成品料号],[序号],[下层物料料号],[描述]"
  10.     StrSQL = StrSQL & " FROM ("
  11.     StrSQL = StrSQL & "SELECT DISTINCT NULL AS [工单号],[成品料号],[序号],[下层物料料号],[描述]"
  12.     StrSQL = StrSQL & " FROM [" & SH0.Name & "$]"
  13.     StrSQL = StrSQL & " UNION ALL "
  14.     StrSQL = StrSQL & "SELECT  DISTINCT [工单号],[成品料号],[序号],[下层物料料号],[描述]"
  15.     StrSQL = StrSQL & " FROM [" & SH1.Name & "$]"
  16.     StrSQL = StrSQL & ") GROUP BY [成品料号],[序号],[下层物料料号],[描述]"
  17.    
  18.     StrSQL = StrSQL & ") AS A LEFT JOIN ( "
  19.     StrSQL = StrSQL & "SELECT [成品料号],[序号],[下层物料料号],[描述]"
  20.     StrSQL = StrSQL & ",SUM([报价用量]) AS [报价用量],MAX([报价单价]) AS [报价单价],SUM([报价金额]) AS [报价金额]"
  21.     StrSQL = StrSQL & ",SUM([生产用量]) AS [生产用量],MAX([生产单价]) AS [生产单价],SUM([生产金额]) AS [生产金额]"
  22.     StrSQL = StrSQL & " FROM ("
  23.     StrSQL = StrSQL & "SELECT [成品料号],[序号],[下层物料料号],[描述]"
  24.     StrSQL = StrSQL & ",[用量] AS [报价用量],[单价] AS [报价单价],[金额] AS [报价金额]"
  25.     StrSQL = StrSQL & ",0 AS [生产用量],0 AS [生产单价],0 AS [生产金额]"
  26.     StrSQL = StrSQL & " FROM [" & SH0.Name & "$]"
  27.     StrSQL = StrSQL & " UNION ALL "
  28.     StrSQL = StrSQL & "SELECT [成品料号],[序号],[下层物料料号],[描述]"
  29.     StrSQL = StrSQL & ",0 AS [报价用量],0 AS [报价单价],0 AS [报价金额]"
  30.     StrSQL = StrSQL & ",[用量] AS [生产用量],[单价] AS [生产单价],[金额] AS [生产金额]"
  31.     StrSQL = StrSQL & " FROM [" & SH1.Name & "$]"
  32.     StrSQL = StrSQL & ") GROUP BY [成品料号],[序号],[下层物料料号],[描述]"
  33.    
  34.     StrSQL = StrSQL & ") AS B ON A.[成品料号]=B.[成品料号] AND A.[下层物料料号]=B.[下层物料料号]"
复制代码

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-9-17 11:23 | 显示全部楼层
QQ14885553.rar (35.43 KB, 下载次数: 55)
自认为此种效果更好

QQ14885553.jpg

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-17 21:03 | 显示全部楼层
opiona 发表于 2018-9-17 11:23
自认为此种效果更好

感谢opiona的帮助,是我表述清楚,用量不一样的也要列出来,如RC0402FR-0747KL在生产BOM中的用量是100,而报价BOM中是3,也要标示出来,烦请大侠再帮忙看下,非常感谢!

TA的精华主题

TA的得分主题

发表于 2018-9-18 01:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
兄弟,你好!

点刷新就OK,想进一步了解就

自己点开alt+F11看代码,基本上就是看下表3中B&D是否在表1中存在,不存在就显示报价BOM没有,存在就进一步看表2中有没有,有就看量一致否…

不懂可以加我微信15202881601.

这个需求比较简单,大概用个10分钟左右的样子,复杂点的要有偿服务了:) ,小弟还要养家糊口,合作愉快!!

祝 工作顺利.

BOM对比2.rar

16.59 KB, 下载次数: 34

TA的精华主题

TA的得分主题

发表于 2018-9-18 08:24 | 显示全部楼层
wqhsz385919 发表于 2018-9-17 21:03
感谢opiona的帮助,是我表述清楚,用量不一样的也要列出来,如RC0402FR-0747KL在生产BOM中的用量是100, ...

QQ截图20180918082418.jpg

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-15 18:36 , Processed in 0.026945 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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