奋斗吧~少年

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

posted on 2015-01-15 18:07  奋斗吧~少年  阅读(2162)  评论(0编辑  收藏  举报