FineReport学习(三)——动态隔间运算

举报
yd_226342373 发表于 2021/05/25 02:52:48 2021/05/25
【摘要】 目录   1、动态隔间运算入门说明   2、入门小案例   3、“比较”、“占比”、“环比”的操作   4、“逐层累计”与“跨层累计”的操作   5、条件汇总 1、动态隔间运算入门说明 首先提供一个公式,公式:“显示列[显示列的父列:偏移量]”。此时你不需要知道这个公式是什么意思,目前有个印象就行,通过下面的学习你就明白了。动态隔间运算类似于EXCEL表格中的公式...

目录

  1、动态隔间运算入门说明
  2、入门小案例
  3、“比较”、“占比”、“环比”的操作
  4、“逐层累计”与“跨层累计”的操作
  5、条件汇总

1、动态隔间运算入门说明

  • 首先提供一个公式,公式:“显示列[显示列的父列:偏移量]”。此时你不需要知道这个公式是什么意思,目前有个印象就行,通过下面的学习你就明白了。
  • 动态隔间运算类似于EXCEL表格中的公式运算,相当于你在某个单元格中输入“=…”这样的公式。定义不太好叙述,下面通过案例说明,更为直观。

2、入门小案例

首先,新建一个普通报表–>利用sql选择需要导入的数据集

select strftime('%m',订购日期) as 月份,应付金额 from 订单
where strftime('%Y',订购日期) = '2011'

  
 
  • 1
  • 2

效果如下:
在这里插入图片描述
接着进行模板样式的设计,及绑定数据。
在这里插入图片描述
效果预览
在这里插入图片描述

① 进行第一个动态隔间运算
-- 公式: 显示列[显示列的父列:偏移量]
=b2[a2:-1]
-- 注意:-1表示的是偏移量。
-- 当偏移量为正数,表示正着数,偏移量分别是1,2,3...
-- 当偏移量为正数,表示倒着数,偏移量分别是-1,-2,-3... 

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

在任意单元格,输入如下公式
在这里插入图片描述
保存后,进行效果预览
在这里插入图片描述

② 进行第二个动态隔间运算
-- 公式: 显示列[显示列的父列:偏移量]
=b2[!0]

  
 
  • 1
  • 2

在任意单元格,输入如下公式
在这里插入图片描述
保存后,进行效果预览
在这里插入图片描述
此时将该单元格,设置为横向扩展
在这里插入图片描述
同时设置数字保留位数,为两位小数
在这里插入图片描述
再次保存后,进行效果预览
在这里插入图片描述

③ 进行第三个动态隔间运算:筛选去掉某些数字
-- 公式: 显示列[显示列的父列:偏移量]
=b2[!0]{a2!=3}

  
 
  • 1
  • 2

在任意单元格,输入如下公式,调整为横向扩展,设置小数保留为2位有效数字
在这里插入图片描述
保存后,进行效果预览
在这里插入图片描述

3、“比较”、“占比”、“环比”的操作

select strftime('%m',订购日期) as 月份,应付金额 
from 订单
where strftime('%Y',订购日期) = '2011'

  
 
  • 1
  • 2
  • 3

以上述SQL语句的结果为数据源,完成如下需求。
在这里插入图片描述

① 比较
  • 应付金额中的每一个值,与第一个值进行比较,做差运算。

首先,新建一个普通报表模板,然后导入数据。
在这里插入图片描述
接着,设计报表样式,然后绑定数据源。将“应付金额”保留两位有效数字。
在这里插入图片描述
然后,将“应付金额”设置为汇总求和。
在这里插入图片描述
再接着,添加“比较”列。因为是求下面的每一个值与第一个值的差值,因此需要写入公式(公式如图所示)。并将“比较”列设置为保留两位有效数字。
在这里插入图片描述
保存后,效果预览如下
在这里插入图片描述

② 占比
  • 占比,顾名思义就是计算某个单独的数据,在总量中占据的比例。

在上述操作的基础上,添加“占比”列。直接使用自带函数进行占比运算,比较简单,操作如下。
在这里插入图片描述
然后调整“占比”列的格式,保存格式为“百分比”,并两位有效数字。
在这里插入图片描述
保存后,效果预览如下
在这里插入图片描述

③ 环比
  • 环比是每月与上月的数据进行一个比率运算。

在上述操作的基础上,添加“环比”列。直接使用自带函数进行环比,比较简单,操作如下。
在这里插入图片描述
然后调整“环比”列的格式,保存格式为“百分比”,并两位有效数字。
在这里插入图片描述
保存后,效果预览如下
在这里插入图片描述

4、“逐层累计”与“跨层累计”的操作

select strftime('%Y',订购日期) as 年份, strftime('%m',订购日期) as 月份,应付金额 
from 订单
where 年份 in('2011','2010')

  
 
  • 1
  • 2
  • 3

以上述SQL语句的结果为数据源,完成如下需求。
在这里插入图片描述

  • 逐层累计:逐层累计就是在分组报表中,每一组中分别将每层与上一层数据相加,得到这一层的累计结果,并按照年份隔断。
  • 跨层累计:跨层累计,不按照年份隔断,一直求累加和。

首先,新建一个普通报表模板,然后导入数据。
在这里插入图片描述
接着,设计报表样式,然后绑定数据源。将“应付金额”保留两位有效数字。
在这里插入图片描述
然后,将“应付金额”设置为汇总求和。
在这里插入图片描述
接着添加“逐层累计”列和“跨层累计”列。我们都是直接使用官方自带的函数,操作如图。先添加“逐层累计”列,效果如下:
在这里插入图片描述
再添加“跨层累计”列,效果如下:
在这里插入图片描述
接着,将“逐层累计”列和“跨层累计”列,分别保留两位小数位。
在这里插入图片描述
保存后,效果预览
在这里插入图片描述

5、条件汇总

图中红色方框中,属于条件汇总。
在这里插入图片描述
写入公式:=count(c2[!0]{a2=KaTeX parse error: Expected 'EOF', got '&' at position 4: a2 &̲&c2>2500}):c2扩展…a2 &&c2>2500},{}里面是筛选条件,a2=$a2表示在当前A3组内;c2>2500表示总额大于或等于2500。

count(c2[!0]{a2=$a2 &&c2>2500})

  
 
  • 1

首先,我们在单元格中输入上述公式
在这里插入图片描述
接着,设置该单元格的左父格是【年度】,因为我们是按照【年度】分组统计的。
在这里插入图片描述
保存后,进行效果预览
在这里插入图片描述

文章来源: blog.csdn.net,作者:数据分析与统计学之美,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_41261833/article/details/105208555

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。