最新历史版本 :函数计算组成和语法 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

          FineReport 版本         功能变动
11.0-
11.0.1

公式编辑框增加「输入提示」和「关闭前检查」选项

公式搜索优化

11.0.3新增了自动补全功能:使用公式编辑面板编写公式时,若输入的内容只有一个补全公式的选择,此时取消补全的提示(例如打一个空格再删除这个空格),再输入任何一个英文字母,直接补全为之前的选择
11.0.4
公式编辑框最外层支持调整大小

1.2 功能简介

在设计模板时用户需要频繁的使用公式函数,例如:求和、求个数、做判断等等。本文介绍函数的计算组成和语法。

1.3 视频教程

[helpvideo]5468[/helpvideo]

2. 计算语法编辑

2.1 概览

组成部分
语法示例
函数

函数语法详情查看对应函数:

设计器函数汇总 

SUM(合同金额)、SUM(A1)
数据列可输入有数据列的单元格名称
A1(黑色)
运算符详情参见:计算操作符说明+、-、*、/
文本表达式数字文本写为数字。

字符串文本和日期文本带有引号。

布尔文本写为 true 或 false。

Null 文本写为 null。

2000

"大订单"、“2020-07-15”

true 或者 false

null

2.2 函数语法

在 FineReport 中,函数是计算的主要组成部分。

1)函数在 FineReport 计算中显示为蓝色,每个函数都有特定的语法。

例如:在 FineReport 中新建模板,在单元格中输入「=」,然后双击单元格,将出现「公式编辑框」,如下图所示:

注1:数据集函数不支持模拟计算。

注2:报表函数不支持在远程设计情况下模拟计算。

位置
说明
A

写入公式位

注:若计算后结果小数位超过4位,计算结果会自动四舍五入,因此可能与实际数据产生微小差距。

       如需精确显示数据,可使用 Round 函数调整数据精度:Round函数

B

函数搜索框

搜索结果包括「函数」和「参数」两种类型

前缀为f(x),表示此项为函数

前缀为$,表示此项为参数。

C

输入公式会进行自动识别显示

支持显示参数(包括全局变量;系统变量;已经定义全局参数、模板参数、数据集参数)和函数。

前缀为f(x),表示此项为函数

前缀为$,表示此项为参数。

注1:用户自定义公式与报表自带公式显示方式一致。

注2:函数显示位置优先级高于参数,即所有相关函数显示完成后再显示参数。

注3:不同类型的同名参数仅显示一个。

D选择函数类型
E选择需要使用的函数
F选择是否引用参数
G查看公式用法
H检查公式合法性,详情可参见本文 3.3 节
I

关闭前检查,详情可参见本文 3.3 节

J模拟计算,详情参见本文 3.4 节

11.0.4 版本公式编辑框最外层支持调整大小,如下图所示:

1649753991903564.gif

2)可以在计算中使用多个函数。例如:IF(SIGN(A2)=1,B2,0)

该计算中有两个函数:IF、SIGN。

函数包括在另一个函数中(即嵌套),上面示例就是这种情况。在这种情况下,将在计算 IF 函数之前先计算「A2」单元格的 SIGN 函数,因为后者在括号内部。

2.3 数据列语法

可以在计算中插入数据列。函数的语法通常会指明应在计算中的何处插入数据列。例如:COUNT(value1,value2,…)

例如:如果要计算销售员数量,在单元格中输入公式:=count(B2),B2 即销售员数据列,如下图所示:

2.4 运算符语法

若要创建计算,需要了解支持的运算符。运算符在 FineReport 计算中显示为浅黑色。

详情参见:计算操作符说明

2.5 文本表达式语法

此部分描述在 FineReport  计算中使用文本表达式的正确语法。

文本表达式「按原样」表示常量值。使用函数时,有时需要使用文本表达式表示数字、字符串、日期等。

3. 示例编辑

函数计算由四个内容组成:

内容说明报表中显示
函数用于对字段中的值或成员进行转换的语句报表设计器中显示为蓝色
数据列数据表中的数据列报表设计器中显示为黑色
运算符运算的符号报表设计器中显示为浅黑色
文本表达式按照写入内容表示的常量值

报表设计器中

文本类型、时间类型(有双引号)显示为粉色

数值类型显示为紫色

3.1 设计报表

例如,使用内置数据集「销量」创建数据集ds1,对不同地区销量高低做判断。

将「地区」字段拖入 A2,将「销量」字段拖入B2,并设置「销量」展示方式为求和,然后对不同地区的销量情况进行求和,如下图所示:

3.2 输入公式

选择「单元格元素>插入公式」,弹出公式定义框,输入公式:if(B2>8000,"高销量","低销量"),即进行判断,如果销量大于 8000,则定义为高销量,否则定义为低销量,如下图所示:

输入的计算内容说明如下所示:

内容
说明
函数IF
数据列

B2

运算符详情参见:操作符
文本表达式

字符串文本:"高销量"、"低销量"

数字文本:8000

3.3 公式校验

有两种公式校验方案:

方案一:点击「检查合法性」进行公式校验,如下图所示:

方案二:

勾选「关闭前检查」,然后点击「确定」,自动对公式进行校验,如果公式正确,则直接关闭公式编辑框,如果公式错误,则会给出报错提示,如下图所示:

3.4 根据模拟计算查看结果

完成后可点击「模拟计算」,输入公式中的参数 B2 需要验证的数据,例如输入 400,即可实时查看计算结果为「低销量」,如下图所示:

注1:数据集函数层次坐标函数GETUSERDEPARTMENTS()和GETUSERJOBTITLES()获取部门角色的部门和职位函数WEBIMAGE函数TOIMAGE 函数文件函数treelayer函数、不支持模拟计算。

注2:报表函数不支持在远程设计情况下模拟计算。

注3:需要扩展后才能进行计算的参数不支持模拟计算。