帆软报表(finereport)间格运算常用公式
1.1在C3(占比)单元格中直接使用占比公式:=PROPORTION(B3);占比:当前值占总值的比例
1.2 计组内占比注:C2[!0]{A2=$A2},表示C2扩展出来地区相同的单元格。sum(C2[!0]{A2=$A2}),表示相同地区内的金额总和,用C2相除是得出的是销量在对应地区内的占比。 层次坐标条件写法B2[!0]{A2=$A2} 表示b2按相同的单元条件扩展出来的的单元格
2.比较:当前值与第一个值做比较 计算公式为:当前值减去第一个值(C2/C2[A2:1])
3.环比:当前值比上月份的值; 计算公式为:当前值除上一个值(Iif(&A2>1,C2/C2[A2:-1],0) 或=MOM(A2, B2) A2为月份,B2为金额
4.同期比: 今年/去年-1 坐标公式;EVAL(CONCATENATE("if(&A3>1,C3/C3[!0]{A3=",A3-1,"&&B3=$B3},0)"))
含义解释:{A3=",A3-1,"&&B3=$B3} 这里表达的意思为:
A3=",A3-1," (指上一年年份)
B3=$B3(月度相同)
5.累计,跨层累计 :写入累计公式=D3[B3:-1] + C3;其中D3[B3:-1]表示B3扩展出来的上一格(上月)中D3的值。
或使用累计=LAYERTOTAL(B3, C3, D3) ; 跨层累计:写跨层累计公式=CROSSLAYERTOTAL(A3, B3, C3, D3)
6.横向交叉累计:
在C3单元格中,写入公式:=B3 + C3[;B2:-1]:当前月份的金额加上一月累计金额。
其中C3[;B2:-1]表示上父格B2扩展出来的上一格(上月)的C3的值。
7.条件汇总:
在C3单元格中,写入公式:SUM(B2{B2 < 1}),B2扩展出来的列中,满足属于A2的B2小于1的值的和。
其中B2{B2 < 1}表示B2单元格扩展出来的列B2小于1的值。
{B2 < 1},{}里面是筛选条件,B2小于1的值。
D2的公式为:COUNT(B2{B2 > 1})
E2的公式为:AVERAGE(B2)
8.排名、组内排名: SORT(cell) 等同于count(b2[!0]{b3>$b3})+1 ;组内排名=count(c2[!0]{a2=$a2&&c2>$c2})+1。
9.循环引用:
上日库存
假设6月份前留下的余额为0,则在B3单元格中,输入公式:=if(&A3 = 1, 0, B3[A3:-1] + C3[A3:-1] - D3[A3:-1]):当&A3=1,第一天的上日库存为0,否则从第二天开始,上日库存就等于前天库存+上日入库-上日出库。
本日库存
在E3单元格中,输入公式=B3 + C3 - D3:本日库存就为上日库存+本日入库-本日出库。
方法二:
直接在B3单元格中输入循环引用公式=CIRCULAR(A3, B3, C3, D3),等同于公式=if(&A3 = 1, 0, B3[A3:-1] + C3[A3:-1] - D3[A3:-1]),如果为横向扩展。则传递第五个参数false,例如:=CIRCULAR(A3, B3, C3, D3,false)。
10.字母序号:
大写字母排序:char(seq()+64)
小写字母排序;char(seq()+96
11.COUNT统计有效条数
在单元格中统计出产品名称有值的个数,输入公式=count(GREPARRAY(array(C3),len(item)!=0))或=count(GREPARRAY(array(C3),item!=""&&item!=null)):
公式的作用是首先将C3转为数组,过滤掉其中为空的记录,最后统计剩余记录即不为空的个数。
帆软报表(finereport)间格运算常用公式的更多相关文章
- 帆软报表FineReport中数据连接之Websphere配置JNDI连接
以oracle9i数据源制作的模板jndi.cpt为例来说明如何在FineReport中的Websphere配置JNDI连接.由于常用服务器的JNDI驱动过大,帆软报表FineReport中没有自带, ...
- 帆软报表FineReport SQLServer数据库连接失败常见解决方案
1. 问题描述 帆软报表FineReport客户端连接SQLServer(2000.2005等),常常会出现如下错误:com.microsoft.sqlserver.jdbc.SQLServerExc ...
- 帆软报表FineReport中数据连接之Weblogic配置JNDI连接
1. 制作报表的原理 在帆软报表FineReport设计器中先用JDBC连接到数据库,建立数据库连接,然后用SQL或者其他方法创建数据集,使用数据集制作报表,然后把建立的数据库连接从JDBC连接改成J ...
- 帆软报表FineReport中数据连接之Jboss配置JNDI连接
使用sqlsever 2000数据库数据源来做实例讲解,帆软报表FineReport数据连接中Jboss配置JNDI大概的过程和WEBSPHERE以及WEBLOGIC基本相同,用JDBC连接数据库制作 ...
- 帆软报表FineReport中数据连接之Tomcat配置JNDI连接
1. 问题描述 在帆软报表FineReport中,通过JNDI方式定义数据连接,首先在Tomcat服务器配置好JNDI,然后在设计器中直接调用JNDI的名字,即可成功使用JNDI连接,连接步骤如下: ...
- 帆软报表FineReport中数据连接的JDBC连接池属性问题
连接池原理 在帆软报表FineReport中,连接池主要由三部分组成:连接池的建立.连接池中连接使用的治理.连接池的关闭.下面就着重讨论这三部分及连接池的配置问题. 1. 连接池原理 连接池技术的核心 ...
- 帆软报表(FineReport)实现跨数据源父子查询(2阶段查询)
问题描述: 在报表中需要查询多个系统多个数据源,且有一个数据源的入参是另一个数据源的返回值.所以当用户点击查询到展现报表数据这个过程中,需要先做父查询,查询出的结果在作为子查询. 实现方案: 方案一: ...
- 帆软报表FineReport数据库连接编码转换
1. 问题描述 数据库会以某种编码方式保存与读取数据,FineReport解析时默认使用GBK字符集,若数据库端编码与设计器端编码不一致时,就会导致中文及特殊字符的乱码. FineReport在定义数 ...
- 帆软报表FineReport数据连接中游标问题解决方案汇总
1. 概念 在数据库中, 游标是一个十分重要的概念.游标是一种能从包括多条数据记录的结果集中,每次提取一条记录的机制. 用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,往往是一个含有多个记 ...
随机推荐
- MediaManager安装后配置
端口要改成81 修改Chainmail名称:
- mysql数据库中插入数据INSERT INTO SET的优势
往mysql数据库中插入数据.以前常用 INSERT INTO 表名 (列名1,列名2…) VALUES(列值1,列值2); 如果在PHP程序中,就会写成如下示例(往商品库里增加商品) $sql = ...
- webmagic保存数据
使用多线程:
- ArrayList循环遍历并删除元素的几种情况
如下代码,想要循环删除列表中的元素b,该怎么处理? public class ListDemo { public static void main(String[] args) { ArrayList ...
- 使用pycharm进行远程开发部署调试设置 与 远程部署调试是否必须使用远程主机的解释器?
远程开发部署调试目的: 配置pycharm远程部署调试主要用于本地代码与远程服务器上的代码进行同步,使得本地代码经过修改后,可以很容易的同步到远程服务器上.同时设置pycharm的解释器为远程服务器的 ...
- ubuntu下面配置apache
1.在这个目录下面修改这个文件 把那个注释了 2.在这个目录下面修改这个文件 把这个改为index的目录
- 快速沃尔什变换(FWT)及K进制异或卷积&快速子集变换(FST)讲解
前言: $FWT$是用来处理位运算(异或.与.或)卷积的一种变换.位运算卷积是什么?形如$f[i]=\sum\limits_{j\oplus k==i}^{ }g[j]*h[k]$的卷积形式(其中$\ ...
- Android List 排序
Collections.sort(list, (l1, l2) -> l1.getID().compareTo(l2.getID())); list:泛型集合 l1:比较的前一个泛型 l2:比较 ...
- 洛谷P1512伊甸园的日历游戏题解
题目 因为可能要参加qbxt的数论考试,所以最近要开始猛刷数论题了. 这是第一道,不过看样子并不想数论题啊,只是一个博弈论. 思路 一位著名老师说过,数学就是转化和化简,所以先考虑化简,先考虑化简年份 ...
- cmd 常用命令
注:绿色的为比较常用的命令 命令 名称 ASSOC 显示或修改文件扩展名关联. ATTRIB 显示或更改文件属性. BREAK 设置或清除扩展式 CTRL+C 检查. CACLS 显示或修改文件的 ...