【问题标题】:Calculate COGS with average method in SQL Server在 SQL Server 中使用平均法计算 COGS
【发布时间】:2021-09-16 05:52:30
【问题描述】:

我有一个库存交易表。我想用每行的平均方法计算 COGS

    CREATE TABLE [dbo].[SampleData]
    (
        [date]       [datetime] NULL,
        [product_id] [varchar](15) NULL,
        [Qty]        [decimal](18,2) NULL,
        [price]      [money] NULL,
        [progress]   [varchar](10) NULL,
    )
        
    INSERT INTO sampledata VALUES ('20170228', 'SLG00034', 86.5, 3300, 'IN') 
    INSERT INTO sampledata VALUES ('20170307', 'SLG00034', -5, 0, 'OUT') 
    INSERT INTO sampledata VALUES ('20170312', 'SLG00034', -1, 0, 'OUT') 
    INSERT INTO sampledata VALUES ('20170318', 'SLG00034', -1, 0, 'OUT') 
    INSERT INTO sampledata VALUES ('20170511', 'SLG00034', 100, 3380, 'IN') 
    INSERT INTO sampledata VALUES ('20170518', 'SLG00034', -0.5, 0, 'OUT') 
    INSERT INTO sampledata VALUES ('20170522', 'SLG00034', -2, 0, 'OUT') 
    INSERT INTO sampledata VALUES ('20170604', 'SLG00034', -2, 0, 'OUT') 
    INSERT INTO sampledata VALUES ('20180606', 'SLG00034', 20, 6000, 'IN') 
    INSERT INTO sampledata VALUES ('20180720', 'SLG00034', -0.5, 0, 'OUT') 
    INSERT INTO sampledata VALUES ('20180728', 'SLG00034', -4, 0, 'OUT') 
    INSERT INTO sampledata VALUES ('20180827', 'SLG00034', -4, 0, 'OUT') 
    INSERT INTO sampledata VALUES ('20180907', 'SLG00034', -1, 0, 'OUT') 
    INSERT INTO sampledata VALUES ('20191213', 'SLG00034', 10, 7000, 'IN') 
    INSERT INTO sampledata VALUES ('20200710', 'SLG00034', 20, 4500, 'IN') 
    INSERT INTO sampledata VALUES ('20200926', 'SLG00034', -0.5, 0, 'OUT') 
    INSERT INTO sampledata VALUES ('20201004', 'SLG00034', -215, 0, 'OUT')

期望的输出:

https://i.stack.imgur.com/h4QNH.png

任何人请帮忙,我无法像上图那样计算出平均成本

编辑

我需要用规则计算每一行的收盘平均成本:

  • (未结金额 + 入金额)÷(未结单位 + 入单位)= 每单位平均成本
  • 单位平均成本 * 售出单位 = 售出商品成本
  • 单位平均成本 * 期末单位 = 期末库存量

我们将在下一行用作期初金额的期末库存金额

我们将在下一行用作开始单位的闭合单位

【问题讨论】:

  • 根据问题指南,请不要发布代码、数据、错误消息等的图像 - 将文本复制或输入到问题中。请保留将图像用于图表或演示渲染错误,无法通过文本准确描述的事情。
  • 您提供了所需的输出,但没有描述规则。我们是否应该开发 some 算法来显示此源数据的数据?这很简单:只需从无到有选择常量,但我认为这不是您想要的。请更新您的问题并描述如何计算您想要的内容以及当前尝试的问题

标签: sql sql-server tsql


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-06
  • 2015-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
相关资源
最近更新 更多