分析函数Ratio_to_report使用

分析函数Ratio_to_report( ) over()使用说明

表中需要计算单项占比:比如单项在部门占比多少,单项在公司占比多少。特别是在财务单项计算,部门个人薪水计算上。

Ratio_to_report() 括号中就是分子,over() 括号中就是分母,分母缺省就是整个占比。

Ratio_to_report 一般结合partition by 使用。

=====================================================================================

select tj.KFXMCODE,tj.fwcode,tj.JZMJ,
sum(tj.JZMJ) over(PARTITION by tj.KFXMCODE) zmj,--通过kfxmcode进行分组获取每个组的总面积
round(100*ratio_to_report(jzmj) over(partition by tj.KFXMCODE),4) zb,--每个fwcode对应kfxmcode的占比
round(100*ratio_to_report(jzmj) over(),4) pzb--每个fwcode对应整个面积占比
from (select tj.jzmj,tj.KFXMCODE,tj.fwcode from xxxx tj
) tj ;

image

原文地址:https://www.cnblogs.com/donghua2014/p/4226966.html