占比运算,某个数据在总计中的比例,某个数据占据的比例,proportion()
1. 问题描述
占比,顾名思义就是计算某个单独的数据,在总量中占据的比例。如下图:
2. 示例
2.1 新建报表,添加数据集
新建工作薄,添加数据集,SQL语句为select strftime('%m',订购日期) as 月份,应付金额 from 订单
where strftime('%Y',订购日期) = '2011'。
在SQL中查询出2011年每个月应付总额。
2.2 表样设计
如下图制作报表,应付总额字段数据设置为汇总>求和:
2.3 求占比
在C3单元格中,写入公式:=B3/sum(B3[!0]),其中B3[!0],表示B3扩展出来的所有单元格。其整个公式的意义是计算每个B3单元格,在所有B3单元格总和中所占的比例。
对占比设置百分比,右击C3单元格,选择样式>自定义样式>格式>百分比选择百分比样式,设置保留几位小数即可,参考文档百分比设置。 在C3单元格中直接使用占比公式:=PROPORTION(B3),该公式等同于=B3/sum(B3[!0])。
2.4 保存并预览
按照方法一完成模板可参考%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\Proportion.cpt。
3. 总结
可以通过Cell[!0]来获取一个单元格扩展出来的所有单元格。