历史版本14 :计算操作符说明 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

FineReport 中使用函数需要用到很多的操作符。

操作符不仅包含很多运算符,还包括一些报表特有的操作符。

2. 运算符类型编辑

运算符用于指定要对公式中的元素执行的计算类型。有默认计算顺序,但可以使用括号更改此顺序。

FineReport 中有四种不同类型的计算运算符:算术、比较、逻辑、连接。

2.1 算数运算符

执行基本的数学运算,如加、减、乘、除等,在公式中使用以下算术运算符:

算数运算符
说明操作对象示例
+加号 数或单元格  2+3
-减号数或单元格 A1-B1  
*乘号数或单元格A1*2  
 / 除号数或单元格A3/3  
%取余,求余数数或单元格5%2为1  
^乘方数或单元格
3 ^ 2=9

2.2 比较运算符

可以使用下列运算符比较两个值。使用这些运算符比较两个值时,结果为逻辑值 TRUE 或 FALSE。

比较运算符说明操作对象示例
==等于  数或变量  A==2  
!=不等于 数或变量 A!=null   即 A 不为空值
>大于 数或变量或单元格 3>2 
<小于 数或变量或单元格 A1<2 
>= 大于等于 数或变量或单元格 A1>=2 
<= 小于等于 数或变量或单元格 A1<=2 

2.3 逻辑运算符

逻辑运算符用法与 AND 和 OR 同理。

逻辑运算符说明操作对象示例
&&条件与,需要两个操作数的值都是 true 时,才取值true条件

销售额>=10&&销售人数>=2

即如果销售额和销售人数同时满足指定条件则返回 true

||条件或,只要两个操作数中有一个是 true 取值就为 true条件

销售额>=10||销售人数>=2

即如果销售额和销售人数满足任一指定条件则返回 true

!取非,即取条件的反面  条件!A,如果 A 是 true,!A 是 false  

2.4 连接运算符

可以使用 + 运算符对文本字符进行合并。

例如:将文本字段「abc」和「def」拼接在一起,当然可以使用 CONCATENATE,但更简单的方案是直接使用「+」,如下图所示:

3. 其他操作符编辑

操作符
说明操作对象示例
:用于取一段连续范围的单元格 单元格 如 A1:B3 即取 A1 到 B3 这个单元格集合 
&取单元格所在行列  单元格

&A2

获取单元格 A2 扩展出来的每个数据的位置

. 引用对象或方法对象或方法 

ds1.select(销售员)

数据集 ds1 取出内置 FRDemo 数据库中的「销量」表,返回数据集 ds1 销售员列中的所有值。

详细使用请参见:数据集函数 

$参数引用符或绝对定位 参数或绝对定位 

前者如 $para 后者是在层次坐标中用的如 B1=$B1

$A2

获取单元格 A2 扩展出来每个位置对应的值 

 

列序号 列 

ds1.select(#1)

即取数据集第一列数据(注:数据表中的第一列而不是放在报表单元格第一列。

${}宏定义 参数 

如在 SQL 中 SELECT * FROM 销量 ${"where 地区='华东'"},会先计算出 ${} 里面的值,然后拼接出完整的SQL 语句

该示例 sql 其实就是 SELECT * FROM 销量 where 地区='华东'

其他宏定义可参考:计算格式 3.2.1 节

Cell[]层次坐标操作符 单元格 

A2[A1:-1]

详情参见:层次坐标概念 

$$$表示当前单元格的值即当前值 有数据的单元格 

if($$$=0,"",$$$)

 表示如果当前值为 0 则显示空,否则显示为当前值 

2.png

\\ 引用“\”,值即为\ 单元格 如 \" 表示引用 " 号 
\n 换行符 字符串 如字符串 aabb,希望 bb 换行显示,则填写 aa\nbb