水晶报表-函数(Crystal 语法)

本文深入探讨了Crystal语法中函数的使用方法,包括数学、财务、字符串、日期/时间等常见函数,以及如何通过条件格式设置实现特定的格式需求。详细解释了函数的参数类型、函数组分类、非报表专用函数、条件格式设置函数和通用条件格式设置函数,提供了实用的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数概述(Crystal 语法)

在公式中使用函数时,键入函数名并提供所需参数。例如,Length 函数需要字符串型参数并计算字符串的长度。以下公式返回“数字”值 5。


  
Local StringVar x : = " hello " ;
Length (x)

提供的函数所需的参数类型不正确将产生错误。例如,Length 函数不接受数字型参数,因此调用 Length (3) 将产生错误。

函数有时可以接受不同数量或类型的参数。例如,CDate 函数可以接受单个字符串型参数构成日期型值,或接受分别保存年、月和日的三个数字型值,并用它们构成日期型值。请参见 “日期、时间和日期时间(Crystal 语法)”


  
Local StringVar x : = " hello " ;
Local StringVar y;
// 从位置 2 开始,直到字符串的末尾。
y : = Mid (x, 2 ); // y 现在为 "ello"。
// Start at position 2, extract 1 character
y : = Mid (x, 2 , 1 ) // y 现在为 "e"。

这些函数类型是:数学、汇总、财务、字符串、日期/时间、日期范围、数组、类型转换、编程快捷方式、求值时间、打印状态、文档属性和附加函数。还有一些函数是条件格式设置公式专用函数。

非报表专用函数(Crystal 语法)

数学、财务、字符串、日期/时间、类型转换和编程快捷方式组主要由非报表专用函数组成,但可以在任何功能全面的编程环境中找到。上述函数中的许多与具有相同或相似名称的 Visual Basic 函数在功能上相似。

注意

Crystal 语法所支持的某些函数没有列在 Crystal 语法函数树中。这是因为它们与已列在函数树中的 Crystal 语法函数等效。

例如,Length 函数是查找字符串的长度的传统 Crystal 语法函数。Crystal 语法还支持 Len 作为 Length 的同义词。Len 是具有同样功能的 Visual Basic 和 Basic 语法函数,包括它是为了给想编写或修改 Crystal 语法公式的用户提供方便。

条件格式设置函数(Crystal 语法)

编写条件格式设置函数时,某些附加的函数出现在函数树的上部以帮助您编写函数。例如,可以设置 {客户.去年销售额} 字段格式,使大于十万美元的销售额用绿色打印,小于一万五千美元的销售额用红色打印,而所有其他销售额用黑色打印。


  
If {Customer.Last Year ' s Sales} > 100000 Then
crGreen
Else If {Customer.Last Year
' s Sales} < 15000 Then
crRed
Else
crBlack

因为该函数是字体颜色格式设置函数,所以“颜色常量”列表出现在函数树中。该示例使用三种颜色常量:crGreen、crRed 和 crBlack。其实可以改用颜色常量的实际数值。例如,crRed 是 255,crGreen 是 32768。然而,使用颜色常量,公式更容易理解。Crystal 语法中的所有常量函数均可以有“cr”前缀。

Crystal 语法仍支持以前版本中不带“cr”前缀的常量函数。例如,可以使用“Red”而不是“crRed”。然而,建议使用“cr”前缀,因为它可以将常量函数组织起来。

注意

某些格式设置属性不使用常量函数。例如,如果销售额低于五万美元时不希望打印 {客户.去年销售额} 值,则可以编写以下“取消”属性的条件格式设置公式:


  
If {Customer.Last Year ' s Sales} < 50000 Then
True // 取消该值。
Else
False
// 不取消该值。
更简单的方法是:
{Customer.Last Year's Sales} < 50000

如果去年的销售额低于五万美元,则表达式

{Customer.Last Year's Sales} < 50000

为 True,因而公式返回 True.另一方面,如果去年的销售额大于或等于五万美元,则

{Customer.Last Year's Sales} < 50000

为 False,因而公式返回 False。

通用条件格式设置函数(Crystal 语法)

 

有三种通用条件格式设置函数:

  • CurrentFieldValue
  • DefaultAttribute
  • GridRowColumnValue

DefaultAttribute 可用于任何格式设置公式,CurrentFieldValue 可用于设置字段值格式的任何格式设置公式,GridRowColumnValue 可用于设置交叉表或 OLAP 网格中字段值的格式的任何格式设置公式。

利用 CurrentFieldValue 可以根据交叉表或 OLAP 网格单元格的值对其进行条件格式设置。利用 GridRowColumnValue 可以根据行或列的标题值,对交叉表或 OLAP 网格的单元格进行条件格式设置。在公式语言中没有其他方法引用这些字段的某些情况下,这两种函数是必需的。

例如,如果想在值小于 50,000 时抑制显示交叉表单元格:

CurrentFieldValue < 50000

转载于:https://www.cnblogs.com/fannywu/archive/2011/04/14/2016086.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值