FineReport表格软件- 计算操作符说明

news2025/3/1 1:34:26

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还是报表设计与制作业务,上手都很简单。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/44455.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业表格软件-FineReport 数组函数概述

1. ADD2ARRAY ADD2ARRAY(array, insertArray, start)&#xff1a;在数组 array 的第 start 个位置插入 insertArray 中的所有元素&#xff0c;再返回该数组。 示例&#xff1a; ADD2ARRAY([3, 4, 1, 5, 7], [23, 43, 22], 3)返回[3, 4, 23, 43, 22, 1, 5, 7]。 ADD2ARRAY([…

将 AWS IAM Identity Center (SSO) SAML 与 Amazon OpenSearch Dashboard集成

Amazon OpenSearch Amazon OpenSearch Service 是一项 AWS 托管服务&#xff0c;可以让您运行和扩展 OpenSearch 集群&#xff0c;而不必担心管理、监控和维护您的基础设施&#xff0c;或者不必在操作 OpenSearch 集群方面积累深入的专业知识。 基于 SAML 的 OpenSearch Dash…

Json用法总结

1、忽略json JsonIgnoreProperties(value{“addressId”}) JSONField(serializefalse) JsonIgnore 2、 JsonFiled JsonProperty XStreamAlias Builder.Default 网上可以查询下相关资料 3、 JSON.parseObject(response, ***Response.class) JSONObject.parseObject(response, **…

LockSupport的使用

参考链接&#xff1a; LockSupport使用场景及原理详解 AQS的引入 LockSupport的使用 LockSupport是一个工具类&#xff0c;提供了基本的线程阻塞和唤醒功能&#xff0c;它是创建锁和其他同步组件的基础工具&#xff0c;内部是使用sun.misc.Unsafe类实现的。LockSupport和使用…

android分区概述

Android 设备包括几个分区&#xff0c;它们在启动过程中提供不同的功能。 1、 标准隔断 注意&#xff1a;支持无缝更新的设备每个分区需要一个插槽用于boot 、 system 、 vendor和radio 。 boot分区。此分区包含内核映像&#xff0c;并使用mkbootimg创建。您可以使用虚拟分区…

idea搭建ssm项目全过程详解:

1&#xff0c;创建maven项目&#xff1a; 然后&#xff0c;点击next 其次 2&#xff0c;在pom.xml导入相关依赖&#xff1a;&#xff08;如果idea没有集成maven需要先集成maven&#xff09; <dependencies><dependency><groupId>org.springframework</gr…

【LeetCode】接雨水 II [H](堆)

407. 接雨水 II - 力扣&#xff08;LeetCode&#xff09; 一、题目 给你一个 m x n 的矩阵&#xff0c;其中的值均为非负整数&#xff0c;代表二维高度图每个单元的高度&#xff0c;请计算图中形状最多能接多少体积的雨水。 示例 1&#xff1a; 输入: heightMap [[1,4,3,1,3…

Wireshark TS | 三谈 TCP 握手异常问题

前言 继续以一个实际案例来说下 TCP 握手问题&#xff0c;该数据包仍然来自于 Wireshark sharkfest 2017&#xff0c;一些简短但有趣的 TCP 跟踪文件中的又一个&#xff0c;或者说是最后一个了。可以说这些都是和 TCP 握手相关的连接问题&#xff0c;有兴趣的朋友可以私信&…

Mybatis-Plus开发提速器mybatis-plus-generator-ui

前言 在基于Mybatis的开发模式中&#xff0c;很多开发者还会选择Mybatis-Plus来辅助功能开发&#xff0c;以此提高开发的效率。虽然Mybatis也有代码生成的工具&#xff0c;但Mybatis-Plus由于在Mybatis基础上做了一些调整&#xff0c;因此&#xff0c;常规的生成工具生成的代码…

【一文秒懂——SLF4j日志】

目录 1. SLF4j日志 2. 日志输出 1. SLF4j日志 在添加了spring-boot-starter的项目中&#xff0c;已经包含了SLF4j日志的相关依赖项。 在添加了lombok的项目中&#xff0c;可以在类上添加Slf4j注解&#xff0c;则lombok框架会在编译期在类中声明名为log的变量&#xff0c;通…

农民歌唱家大衣哥喜迎贵客,这三位明星一般人还真请不动

都知道农民歌唱家大衣哥家里热闹&#xff0c;不过大部分都是蹭流量拍视频的&#xff0c;真正的好朋友绝对没有几个。虽然说没有几个好朋友&#xff0c;但是也不代表一个没有&#xff0c;看看在大衣哥家里吃饭的三位&#xff0c;每一个都不是一般人物。 如今的大衣哥&#xff0c…

发现智能合约中的 bug 的 7 个方法

寻找智能合约bug可能是一项高回报的工作&#xff0c;而且它也保护了生态系统免受黑客攻击。我最近有幸采访了一位开发人员&#xff0c;他发现了一个价值 70 亿美元的错误&#xff0c;并因报告该错误而获得了 220 万美元的报酬。 在这篇文章中&#xff0c;我将详细介绍该开发人…

路由和流量控制

路由策略 控制路由,从而影响IP包的转发路径。 路由策略的主要功能有两个,1)过滤路由信息,2)修改路由属性值。 路由匹配工具 acl 只有基本acl(Basic ACL,编号为 2000-2999)可以匹配路由。ACL匹配路由时只能匹配路由的网络号,但无法匹配掩码长度。 [RouterA] acl n…

基于SpringBoot的会员制医疗预约服务管理信息系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SpringBoot 前端&#xff1a;Vue、HTML 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#…

使用CSS实现多种Noise噪点效果

在插画中添加噪点肌理可以营造出一种自然的氛围。噪点肌理可以用于塑造阴影、高光、深度以及更多细节&#xff0c;并优化插画质感&#xff0c;应用噪点肌理的方式在扁平插画中广受欢迎。 在前端开发过程中&#xff0c;我们也有可能遇到噪点插画风格的设计稿&#xff0c;应用基…

实验三-----数据库

一、实验目的 1.掌握SQL Server Management Studio中SQL 查询操作&#xff1b; 2.掌握SQL 的单表查询命令&#xff1b; 3.掌握SQL 的连接查询操作&#xff1b; 4.掌握SQL 的嵌套查询操作&#xff1b; 5.掌握SQL 的集合查询操作。 二、实验环境 1&#xff0e;实验室名称&…

Nevron 3DChart创建有吸引力的3D和2D图表

Nevron 3DChart创建有吸引力的3D和2D图表 3DChart使用OpenGL 3D图形引擎创建复杂的2D和3D图表和图形,这些图表和图形可以包含静止或动画图像。3DChart包括用于生成图表模板的独立应用程序和ASP服务器配置实用程序。该组件还包括一个专门设计用于与3DChart集成的工具栏组件。用…

SignalR简介及实践指南

SigalR简介 ASP.NET Core SignalR 是一个开放源代码库&#xff0c;可用于简化向应用添加实时 Web 功能。 实时 Web 功能使服务器端代码能够将内容推送到客户端。 适合 SignalR 的候选项&#xff1a; 需要从服务器进行高频率更新的应用。 示例包括游戏、社交网络、投票、拍卖…

【LeetCode】No.102. Binary Tree Level Order Traversal -- Java Version

题目链接&#xff1a;https://leetcode.com/problems/binary-tree-level-order-traversal/ 1. 题目介绍&#xff08;Binary Tree Level Order Traversal&#xff09; Given the root of a binary tree, return the level order traversal of its nodes’ values. (i.e., from …

React Redux 中触发异步副作用

React Redux 中触发异步副作用 一些基本的配置&#xff08;这里使用 toolkit&#xff09;可以在这篇笔记中找到&#xff1a;react-redux 使用小结&#xff0c;这里不多赘述。 触发副作用主流的操作方式有两种&#xff1a; 组件内操作 适合只会在当前组件中触发的 API 操作 写…