[数据处理]
自由表中如何计算某个项目的当年实收保费占整个实收保.....
yhdata_ruby
显示全部楼层
发表于 2022-10-12 15:04:52
不是固定的,根据你自己的单元格位置进行替换,我这里的0表示第1行,rsize-1表示最后一行,如果你这一列有表头,你可以把0替换为1表示第二行,rsize-1可以不用替换 |
|
|
|
|
yhdata_cGxQ0JdB
显示全部楼层
发表于 2022-10-12 15:32:29
rowTotal(int column, int rstart,int rend),
现在是 int column是表示要计算的总和的那列是第几列吗? 比如现在要计算的显示的是第三列,前面有项目列,实收保费不含税的列,那现在是要计算的是实收保费不含税该列的列合计,那是第2列?
按: left(1)/colTotal(3,1,rsize-1)
报错,显示格间计算有循环依赖?
按: left(1)/colTotal(2,1,rsize-1) 也不对。
请问只有格间计算这一种方式吗?还有其他方式不? |
|
|
|
|
yhdata_ruby
显示全部楼层
发表于 2022-10-12 15:39:17
本帖最后由 yhdata_ruby 于 2022-10-12 15:42 编辑
是的,你这里需要合计的是第二列,column就应该填1,因为row,column是从0开始计算,自由表左上角的第一个为原点。
你这里红框中应该是要填一个表头,就应该把格间计算放在下一行: left(1)/rowTotal(1,1,rsize-1) 你还可以使用计算列,获得需要的数据再进行绑定,但是格间计算也比较方便的
|
|
|
|
|
yhdata_cGxQ0JdB
显示全部楼层
发表于 2022-10-12 16:19:47
left(1)/rowTotal(1,1,rsize-1),还是不行,不报错,但是并没有计算呢,都显示的是0呢?
不知道哪里不对?
有没有办法直接计算列或者新建表达式, 直接计算出占比这列,然后拖拽数据即可?
需要如何计算呢?
知道在sql中可以按下面方式计算:但是在报表中不知道如果计算?是否有sql表达式或者其他方式?
select distinct t2.item name,
(sum_premium_tni_real_y/total_sum_premium_tni_real_y)
from (select item_name, sum(sum_premium_tni_real_y) over() as total_sum_premium_tni_real_y
from ccic_xbmis.dm_all_xty)t1
join (select item_name, sum(sum_premium_tni_real_y) sum_premium_tni_real_y
from ccic_xbmis.dm_all_xty
group by item_name) t2
on t1.item_name = t2.item_name |
|
|
|
|
yhdata_ruby
显示全部楼层
发表于 2022-10-12 16:36:46
left(1)/rowTotal(1,2,rsize-1)设置这个试试 |
|
|
|
|
yhdata_cGxQ0JdB
显示全部楼层
发表于 2022-10-12 16:40:06
|
|
|
|
yhdata_ruby
显示全部楼层
发表于 2022-10-12 16:47:43
本帖最后由 yhdata_ruby 于 2022-10-12 16:49 编辑
那就先合计,再用以前的值去除以合计值吧,先把合计值计算出来,再去算 |
|
|
|
|
yhdata_cGxQ0JdB
显示全部楼层
发表于 2022-10-12 16:50:50
啥意思? 先合计是增加一列sum(当年实收保费), 然后再用格间计算?
那合计那列不需要在表中显示呢?
可否详细说明下? |
|
|
|
|
yhdata_ruby
显示全部楼层
发表于 2022-10-12 16:56:30
“先合计是增加一列sum(当年实收保费), 然后再用格间计算”对的,是这样理解,如果不想展示合计那列可以进行隐藏,在设置中选择隐藏列
|
|
|
|
|
yhdata_cGxQ0JdB
显示全部楼层
发表于 2022-10-12 17:09:21
先合计是增加一列sum(当年实收保费), 这里的合计是在自由表里面怎么合计新增列呢?
新建表达式不行,新建聚合表达式不能拖到自由表里面??? |
|
|
|
|