计算每个产品的加权平均值
我有一个与ms-access计算有关的问题。所以要清楚,我上传了Excel表,在那里我做了计算。我对加权平均值感兴趣,基本上如何做我在excel中访问的计算。计算每个产品的加权平均值
我在Excel中的公式看起来像这样:=SUMIFS($I:$I;$G:$G;G2;$H:$H;H2;$B:$B;B2;$C:$C;C2)/SUMIFS($F:$F;$G:$G;G2;$H:$H;H2;$B:$B;B2;$C:$C;C2)
我为每个代码(产品),每个组,每个月,每年获得正确的销售量和销售量数字。
我有相同的数据库在Excel中,我得到所有额外的计算领域与收入,月和年的值在Excel中。然而,我不得不知道如何重现我的Excel访问公式。
图片上加权的每件商品包含上述公式。我需要找到一种方法将这种计算包括在访问中,其中数据是相同的。
Code Group Price per t Volume MONTH YEAR Revenue Weighted 13753 avangard 12 818,84 108,85 1 2008 1 395 330,73 13 826,51
13755 super 11 488,83 26,76 1 2008 307 441,09 15 726,96
14899 super 11 607,86 64,39 1 2008 747 430,11 15 591,86
13747 super 11 892,57 62,96 1 2008 748 756,21 16 199,30
13753 avangard 18 134,69 94,65 1 2008 1 716 448,41 13 826,51
如何应该计算值= SUMIFS(收入; CriteriaRange(1)=月;标准(1)=行2(月); CriteriaRange(2)=年份;标准(2)=行2(年) ; CriteriaRange(3)=代码;标准(3)=行2(编号))/ SUMIFS(音量; CriteriaRange(1)=月;标准(1)=行2(月); CriteriaRange(2)=年份;条件(2 )= Row2(Year); CriteriaRange(3)= Code; Criteria(3)= Row2(Code))
如果我们将自己与表格样本中的计算加权分开,仅基于所提供的数据, 13753 =(1 395 330,73 + 1 716 448,41)/(108,85 + 94,65)= 15 291,30
@Darren Bartr上库克。找到我需要的解决方案。非常感谢您的帮助。这是我用来镜像SUMIFS函数的最终SQL代码。
SELECT Data.Code, Справочник_групп_продукции.Group,
Month([Dated]) AS LMonth,
Year([Dated]) AS LYear,
SUM([Price per t] * [Volume])/SUM([Volume]) AS Wght_Avg
FROM Справочник_групп_продукции INNER JOIN Data ON Справочник_групп_продукции.[Code] = Data.[Code]
GROUP BY Data.Code,
Month([Dated]),
Year([Dated]),
Справочник_групп_продукции.Group;
https://imgur.com/DyMYnEC
回答:
随着你的表设置为示例表(抱歉,不能看到图片)和 表名作为MyTable
你只需要执行的总和(收入/音量)并按代码,月份和年份分组。
SELECT Code , Group
, lMonth
, lYear
, ROUND(SUM(Revenue)/SUM(Volume),2) AS Weighted_Avg
FROM MyTable
GROUP BY Code
, Group
, lMonth
, lYear
注:我已经更新了Month
和Year
字段的名称lMonth
和lYear
避免保留字冲突。
我可能会改变我的设计使用真实日期,而不是月份和年份数字,但。
NB 2:我也想移动Group
使用Code
作为该表中的主键另一个表和外键在主表。这将消除组名中的任何拼写错误。
新的查询是:
SELECT MyTable.Code , Group
, lMonth
, lYear
, ROUND(SUM(Revenue)/SUM(Volume),2) AS Weighted_Avg
FROM MyTable LEFT JOIN GroupTable ON MyTable.Code = GroupTable.Code
GROUP BY MyTable.Code
, Group
, lMonth
, lYear
编辑:
纵观SQL你张贴了这个更新SQL应该工作:
SELECT Format(Dated,"mmm-yyyy") AS Month_Year , Group
, Data.Code
, [Price per t]*volume AS Revenue
, ROUND(SUM([Price per t]*[Volume])/SUM(Volume),2) AS Weighted_Avg
FROM Справочник_групп_продукции INNER JOIN Data ON Справочник_групп_продукции.Code = Data.Code
GROUP BY Format(Dated,"mmm-yyyy")
, Group
, Data.Code
, [Price per t]*volume
以上是 计算每个产品的加权平均值 的全部内容, 来源链接: utcz.com/qa/264539.html