分析函数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 ;