2020-09-03 08:27发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我在HANA中有一个场景,我正在尝试编写一个存储过程。 但是,无论我尝试了什么,它都不起作用。 请帮我。 下面是场景。
我需要计算每年的平均值,逻辑是:2012年平均值的Ex应该为(2012年IPF + 2011年IPF + 2010年IPF)/3。 每年都一样。
2010年无历史记录,应为2010 IPF/3。
嗨Rambabu。 在您最初的询问中,您没有提到平均应在3年后计算。 如果以这种方式计算平均值,则可以使用以下查询:
SELECT CURRENT_Y。*, (CURRENT_Y。" IPF" + SUM(IFNULL(PREVIOUS_Y.IPF,0)))/3 AS" AVG_3_YEARS" 从 <您的表> CURRENT_Y LEFT JOIN <您的表> PREVIOUS_Y ON CURRENT_Y。" STAFF_ID" = PREVIOUS_Y。" STAFF_ID" 和TO_INT(CURRENT_Y。" YEAR")-2和TO_INT(CURRENT_Y。" YEAR")-1 通过...分组 CURRENT_Y.STAFF_ID, CURRENT_Y.YEAR, CURRENT_Y.IPF ;
输出如下:
下次, 您能否包括您尝试使用SQL的内容。 人们会帮助您的。
您每年要为每个员工寻找东西吗? 您能否阐明为什么将2010年除以3?
并举例说明您期望得到的结果将非常有帮助。
不确定什么 2010年没有历史记录应该是2010 IPF/3 ,但是 基本上,对于运行平均值计算,您可以使用以下内容:
SELECT *, AVG(TO_DECIMAL(" IPF",4,2))超过(按" STAFF_ID"顺序排列(按" YEAR"顺序排列))为" AVG_IPF" 从
您好,Konrad Zateski,
如果我理解正确,那么您提供给我的代码将为我提供一个运行平均值。 但这不是我想要的。 我需要计算回溯年份的平均值。 "不确定 2010年没有什么历史,应该是2010 IPF/3 意味着":假设EMP" 1"已于2010年加入公司,所以他只能从2010年起拥有IPF,并且是前几年。 其0。
这件事在接下来的几年里都会消失。
最多设置5个标签!
嗨Rambabu。 在您最初的询问中,您没有提到平均应在3年后计算。 如果以这种方式计算平均值,则可以使用以下查询:
输出如下:
下次, 您能否包括您尝试使用SQL的内容。 人们会帮助您的。
您每年要为每个员工寻找东西吗? 您能否阐明为什么将2010年除以3?
并举例说明您期望得到的结果将非常有帮助。
不确定什么 2010年没有历史记录应该是2010 IPF/3 ,但是 基本上,对于运行平均值计算,您可以使用以下内容:
您好,Konrad Zateski,
如果我理解正确,那么您提供给我的代码将为我提供一个运行平均值。 但这不是我想要的。 我需要计算回溯年份的平均值。 "不确定 2010年没有什么历史,应该是2010 IPF/3 意味着":假设EMP" 1"已于2010年加入公司,所以他只能从2010年起拥有IPF,并且是前几年。 其0。
EMP 1年的2010年历史平均水平应为:(2010年IPF + 2009年IPF + 2008年IPF)/3。 由于EMP 1在2009、2008年没有IPF,因此最终计算应为(0.5 + 0 + 0)/3。 EMP 1年的2011年历史平均水平应为:(2011年IPF + 2010年IPF + 2009年IPF)/3。 由于EMP 1没有2009年的IPF,因此最终计算应为(0.6 + 0.5 + 0)/3。 EMP 1年的2012年历史平均值应为:(2012年IPF + 2011年IPF + 2010年IPF)/3。 Noe EMP 1拥有IPF的所有年份,因此最终计算应为(0.9 + 0.6 + 0.5)/3。这件事在接下来的几年里都会消失。
一周热门 更多>