Crystal Reports公式的语法比较简单,但支持的操作符和函数非常多。
以下主要介绍一下字段、操作符、函数。
一、字段
创建报表时使用的许多字段也可以在公式中引用。例如,数据库、参数、运行总计、SQL表达式、摘要、组名等字段均可用于公式中。也可以在公式中引用其他公式字段。
将字段插入报表的最简单方法是双击“报表字段”树中的字段名。这将确保使用正确的字段
语法。
数据库、参数、公式、运行总计、SQL 表达式等字段的名称均用花括号括起来。
数据库字段名取自数据库:{雇员.姓}
创建字段时指定参数、公式、运行总计、SQL 表达式等字段的名称。
参数字段还包含一个问号:{?我的参数字段}
公式字段包含一个 @ 符号:{@另一个公式 }
运行总和字段包含一个 # 符号:{#我的运行总计}
SQL 表达式字段包含一个百分号:{%我的 SQL 表达式}
摘要和组名字段看起来象函数调用。但是,它们实际上是报表字段的速记写法。
求和摘要字段:Sum({订单.订单金额}, {订单.承运商})
组名字段:GroupName({订单.承运商})
二、操作符
Crystal Reports支持大量的操作符,有些是常见的,也有些是Crystal Reports特有的。
1、算术操作符
Crystal Reports支持+、-、*、/,还支持%(百分比)操作符,如100 % 500 = 20。
2、转换操作符
转换操作符为$,它将数字转换为货币型,这样Crystal Reports会按照报表中的货币格式设置打印数据。
3、比较操作符
Crystal Reports支持的比较操作符与Visual Basic相同:=、<>、<、>、>=、<=。
4、字符串操作符
字符串连接的操作符为“+”。
从字符串中取指定的字符使用“[]”操作符,相当于Visual Basic的Mid函数。“[]”内为字
符的位置,第一个字符的编号为1。如:{file.ItemNumber} [4 to 5]
判断一个字符串是否包括在另一个字符串使用in操作符。比如:"c" in "pcc"返回True。
5、范围操作符
Crystal Reports允许用户建立一个范围,并判断数据是否包括在指定范围内。如“100.00 to 250.00”包括100到250之间的数据,而使用“50 in (100 to 250)”可以判断50是否在指定的范围内。
6、布尔操作符
布尔操作符包括And、Not和Or。
7、数组操作符
Crystal Reports 支持数组,比如[100,200,300,400]是一个由4个元素组成的数组。可以使用in操作符判定数据是否是一个数组的元素,如:{file.State} in ["CA", "HI", "AK"]。
8、匹配操作符
匹配操作符包括StartsWith和Like。StartsWith判断一个字符串是否以指定的字符串开头,如"PCC" startwith "P"返回True。Like操作符的用法类似Visual Basic,也是将字符串表达式和通
配符表达式中的样式做比较。
9、其他操作符
另一个重要的操作符是If…Then … Else …,就是我们所熟悉的条件判断,在我们后面得示
例部分可以看到这个操作符的威力。
如果要为变量赋值,需要使用“:=”符号,这是与Visual Basic不同的。
在公式中也可以加上注释以方便阅读。注释符号为“//”,“//”符号后面的内容将被忽
略。
公式中也可以包括多个语句行,行尾使用“;”分割。
三、函数
Crystal Reports支持大量函数,包括数学函数、统计函数、日期函数、字符串函数、数组函数等等。在Crystal Reports的帮助文件对每个函数都有详细的介绍。
具体请参考:
http://msdn.microsoft.com/library/chs/default.asp?
url=/library/CHS/crystlrf/html/crconcreatingformulaswithcrystalsyntax.asp
http://publib.boulder.ibm.com/infocenter/rtnlhelp/v6r0m0/topic/
com.businessobjects.integration.eclipse.doc.crdesigner/reportdesigner/
crconcreatingformulaswithcrystalsyntax.htm