FineReport表格软件- 计算操作符说明
创始人
2024-02-26 18:45:49
0

1. 概述

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

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

FineReport 11.0 优化了公式

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 销售员列中的所有值。

$

参数引用符或绝对定位 

参数或绝对定位 

层次坐标专用

列序号 

列 

ds1.select(#1)

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

${}

宏定义 

参数 

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

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

Cell[]

层次坐标操作符 

单元格 

A2[A1:-1]

$$$

表示当前单元格的值即当前值 

有数据的单元格 

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

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

\\ 

引用“\”,值即为\ 

单元格 

如 \" 表示引用 " 号 

\n 

换行符 

字符串 

如字符串 aabb,希望 bb 换行显示,则填写 aa\nbb 

 [,] 

定义数组

数组

例如:=indexofarray(["a","b","c","d"],3)

获取数组中第三个位置的数据即返回值为 c

详情参见:数组函数概述

""

定义字符串

字符串

()

优先计算

单元格

^

乘方

单元格/数组

~

决策报表跨组件引用

单元格

详情参见:主页决策报表数据源

!

跨sheet引用

单元格

{}

过滤

单元格/列

{单元格}

获取当前页单元格数据

单元格

例如 {A2}

COUNT({A2}),则表示计算当前页数据行数:

4. 公式运算的次序

在某些情况下,执行计算的顺序可能会影响公式的返回值,因此,必须了解如何确定顺序以及如何更改顺序以获取所需结果。

4.1 运算符优先级

如果一个公式中有若干个运算符,FineBI 将按下表中的次序进行计算。 如果一个公式中的若干个运算符具有相同的优先顺序(例如,如果一个公式中既有乘号又有除号),则 FineBI 将按照以下方向计算各运算符。

优先级

运算符

含义

使用形式

结合方向

1

-

负号

-表达式

右到左

2

^

乘方

表达式^表达式

左到右

3

*

表达式*表达式

/

表达式/表达式

%

取余

表达式%表达式

4

+

表达式+表达式

-

表达式-表达式

5

>

大于

表达式>表达式

<

小于

表达式<表达式

>=

大于等于

表达式>=表达式

<=

小于等于

表达式>=表达式

6

=、==

等于

表达式=表达式

表达式==表达式

!=

不等于

表达式!=表达式

7

&&

逻辑与

表达式&&表达式

8

||

逻辑或

表达式||表达式

3.2 使用括号计算方式

若要更改计算的顺序,需要将公式中要先计算的部分用括号括起来。 

例如,下面的公式生成 11,因为在加法之前计算乘法。 该公式先将 2 与 3 相乘,然后再将 1、4 与结果相加。

=1+2*3+4

但是,如果用括号对该语法进行更改,则会先将 1 与 2 相加在一起,然后再用结果乘以 3 ,再加上 4 得到 13。

=(1+2)*3+4

总结

帆软FineReport使用整个公司的数据架构都可以变得规范,构建企业的大数据平台。这款帆软表格软件是java编写的,支持二次开发,类Excel的设计器,无论是IT还是报表设计与制作业务,上手都很简单。

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...