反饋已提交
網絡繁忙
FineReport 中使用函数需要用到很多的操作符。
操作符不仅包含很多运算符,还包括一些报表特有的操作符。
FineReport 11.0 优化了公式
运算符用于指定要对公式中的元素执行的计算类型。有默认计算顺序,但可以使用括号更改此顺序。
FineReport 中有四种不同类型的计算运算符:算术、比较、逻辑、连接。
执行基本的数学运算,如加、减、乘、除等,在公式中使用以下算术运算符:
可以使用下列运算符比较两个值。使用这些运算符比较两个值时,结果为逻辑值 TRUE 或 FALSE。
逻辑运算符用法与 AND 和 OR 同理。
销售额>=10&&销售人数>=2
即如果销售额和销售人数同时满足指定条件则返回 true
销售额>=10||销售人数>=2
即如果销售额和销售人数满足任一指定条件则返回 true
可以使用 + 运算符对文本字符进行合并。
例如:将文本字段「abc」和「def」拼接在一起,当然可以使用 CONCATENATE,但更简单的方案是直接使用「+」,如下图所示:
&A2
获取单元格 A2 扩展出来的每个数据的位置
ds1.select(销售员)
数据集 ds1 取出内置 FRDemo 数据库中的「销量」表,返回数据集 ds1 销售员列中的所有值。
详细使用请参见:数据集函数
层次坐标专用,详情参见:条件汇总
ds1.select(#1)
即取数据集第一列数据(注:数据表中的第一列而不是放在报表单元格第一列。)
如在 SQL 中 SELECT * FROM 销量 ${"where 地区='华东'"},会先计算出 ${} 里面的值,然后拼接出完整的SQL 语句
该示例 sql 其实就是 SELECT * FROM 销量 where 地区='华东'
其他宏定义可参考:计算格式 3.2.1 节
A2[A1:-1]
详情参见:层次坐标概念
if($$$=0,"",$$$)
表示如果当前值为 0 则显示空,否则显示为当前值
例如:=indexofarray(["a","b","c","d"],3)
获取数组中第三个位置的数据即返回值为 c
详情参见:数组函数概述
例如 {A2}
COUNT({A2}),则表示计算当前页数据行数:
在某些情况下,执行计算的顺序可能会影响公式的返回值,因此,必须了解如何确定顺序以及如何更改顺序以获取所需结果。
如果一个公式中有若干个运算符,FineBI 将按下表中的次序进行计算。 如果一个公式中的若干个运算符具有相同的优先顺序(例如,如果一个公式中既有乘号又有除号),则 FineBI 将按照以下方向计算各运算符。
-
负号
-表达式
右到左
左到右
表达式=表达式
表达式==表达式
若要更改计算的顺序,需要将公式中要先计算的部分用括号括起来。
例如,下面的公式生成 11,因为在加法之前计算乘法。 该公式先将 2 与 3 相乘,然后再将 1、4 与结果相加。
=1+2*3+4
但是,如果用括号对该语法进行更改,则会先将 1 与 2 相加在一起,然后再用结果乘以 3 ,再加上 4 得到 13。
=(1+2)*3+4
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉