阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

手机号码,快捷登录

老司机
查看: 1743|回复: 0

[原创] SQL开发之供应商物料分析

[复制链接]
  • TA的每日心情
    开心
    2016-12-20 20:46
  • 签到天数: 229 天

    [LV.7]常住居民III

    发表于 2008-1-31 13:45:29 | 显示全部楼层 |阅读模式
    SQL开发之供应商物料分析

    很多公司都会可能存在,一个物料由多个供应商供货,当然,K3中是有这种功能,但有很多时候,往往会需要一个总体性的报表来查看多个供应商的情况和进货的 比例问题。我公司是允许从多供应商进货,而且这方面没有作维护,也就是说,只有通过报表才会知道进货的情况。以下是分析并生成报表的存储过程。
    CREATE PROCEDURE [dbo].[PO_Supplier]
    @bdatedatetime='20070401'                      --
    定义起始时间参数,从此时间开始的PO将会被分析,采用了默认值
    AS
    --从PO中找出存在多供应商的物料,然后再列出相关的汇总数据到临时表
    select FFullnumber,FItemName,FSupplyIDName,sum(fauxqty) Demand into #sum_pofrom vwICBill_26
    where FDate>=@bdate and FFullnumber in
    (
    select FFullnumber from
    (
    select FFullnumber,FItemName,FSupplyIDName,sum(fauxqty) Demand from vwICBill_26where FDate>=@bdate
    group by FFullnumber,FItemName,FSupplyIDName
    ) a
    group by FFullnumber
    having count(*)>1
    )
    group by FFullnumber,FItemName,FSupplyIDName
    ----------------------------------------------------------------------------------------------------------------------------------------------------
    --从临时表抽取数据,并左联接到临时表上,得到一个有明细和采购占比的的报表
    select a.*,b.sum_demand,(a.demand/b.sum_demand)*100 Ratefrom #sum_po a
    left join
    (select ffullnumber,sum(demand) Sum_Demand from #sum_po group by ffullnumber) b
    on  a.ffullnumber=b.ffullnumber
    drop table #sum_po  --清除临时表
    GO
    注意,此处取的时PO上的需求数量,如果公司入库数与需求数量差异比较大,可以取入库数,如果价格变动大的物料,更可以用金额来计算比例,更能说明问题。

    评分

    参与人数 1阳光币 +2 收起 理由
    sjd81925 + 2 问题交流奖励

    查看全部评分

    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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