水晶报表公式大全范本模板.docx
《水晶报表公式大全范本模板.docx》由会员分享,可在线阅读,更多相关《水晶报表公式大全范本模板.docx(44页珍藏版)》请在冰豆网上搜索。
水晶报表公式大全范本模板
水晶报表公式大全
汇总函数的条件
以下是每个汇总函数的条件列表:
布尔型条件
任何更改
更改为“是”
更改为“否"
对每个“是"
对每个“否”
对下一个“是”
对下一个“否"
日期条件
每天
每周
每两周
每半月
每月
每季
每半年
每年
时间条件
每秒
每分钟
每小时
上午/下午
Sum
Basic语法和Crystal语法.
重载
Sum(fld)
Sum(fld,condFld)
Sum(fld,condFld,cond)
Sum(x)
参数
fld是可由函数求值的任何有效的数据库字段或公式字段。
condFld是用于对fld中的值进行分组时所依据的字段。
cond是表明condFld分组类型的字符串。
只能在condFld是一个日期、时间、日期时间或布尔字段时才指定此参数。
有关此参数有效字符串的详细信息,参见汇总函数的条件。
x是可由正在使用的函数求值的数字或货币值的数组。
返回
数字
操作
使您能够添加报表中出现的值.例如:
如果销售报表包含一个显示每张订单金额的字段,则可以计算报表上出现的所有订单的总和(总计和)。
如果对订单进行分组(例如,按订单所来自的省份对其分组),则可以计算每组订单金额的总和(在本例中,为每个省)。
如果将订单按日期或布尔值分组(例如,对订单按其发出的月份进行分组),则可以根据日期字段或布尔字段中的特定变化来计算每组订单金额的总和(在本例中,为每月)。
如果指定单个值的集合,则也可以计算该集合中值的总和.有关这种汇总的详细信息,参见数组汇总函数。
示例
下列示例适用于Basic语法和Crystal语法:
Sum({file.QTY})
计算QTY字段中所有值的总和。
Sum({订单.金额},{订单.客户ID})
对“金额”字段中每个订单组的订单求和(总计)。
每当“客户ID"字段中的值变化时,订单都将进行分组。
Sum({订单.金额},{订单.日期},"monthly”)%Sum({订单.金额})
对“金额”字段中的值按月分组,并计算每个月组中值的总和相对于整个报表值的总和的百分比.
Sum([{file.AMOUNT},{file.PRICE},{file。
COST}])
“金额”、“价格"和“费用”字段中值的总和。
注意:
在公式中使用此函数强制在打印时对公式求值。
有关求值时间考虑因素的详细信息,参见求值时间。
Average
Basic语法和Crystal语法。
重载
Average(fld)
Average(fld,condFld)
Average(fld,condFld,cond)
Average(x)
参数
fld是可由函数求值的任何有效的数据库字段或公式字段。
condFld是用于对fld中的值进行分组时所依据的字段.
cond是表明condFld分组类型的字符串.只能在condFld是一个日期、时间、日期时间或布尔字段时才指定此参数.有关此参数有效字符串的详细信息,参见汇总函数的条件。
x是可由正在使用的函数求值的数字或货币值的数组.
返回
数字
操作
使您能够对报表中出现的值求平均值.例如:
如果销售报表包含显示每个订单金额的字段,则可以计算该报表上出现的所有订单的平均值(总计平均值)。
如果将订单进行分组(例如,对订单按其来自的省份进行分组),则可以计算每组订单的平均金额(在本例中,为每个省)
如果将订单按日期或布尔值分组(例如,按订单发出的月份分组),则可以根据日期字段或布尔字段中的特定变化来计算每组订单的平均金额(在本例中,为每月)。
如果指定单个值的数组,则也可以计算该集合的平均值。
有关这种汇总的详细信息,参见数组汇总函数。
示例
下列示例适用于Basic语法和Crystal语法:
Average({订单.订单金额})
计算“金额”字段中所有值的平均值.
Average({订单。
订单金额},{客户.客户ID})
得到向每个客户销售的平均金额.
下列示例适用于Crystal语法:
Average([10,12,32,48])
计算一个常量数组中值的平均值.
注意:
在公式中使用此函数强制在打印时对公式求值.有关求值时间考虑因素的详细信息,参见求值时间.
StdDev
Basic语法和Crystal语法。
重载
StdDev(fld)
StdDev(fld,condFld)
StdDev(fld,condFld,cond)
StdDev(x)
参数
fld是可由函数求值的任何有效的数据库字段或公式字段。
condFld是用于对fld中的值进行分组时所依据的字段。
cond是表明condFld分组类型的字符串。
只能在condFld是一个日期、时间、日期时间或布尔字段时才指定此参数.有关此参数有效字符串的详细信息,参见汇总函数的条件.
x是可由正在使用的函数求值的数字或货币值的数组.
返回
数字
操作
使您能够得到报表中一组值的标准偏差。
例如:
您可以计算某个字段中所有值的总计标准偏差。
您可以计算某个组内所有值的标准偏差(例如,对销售按来自的省进行分组)。
您可以计算其分组是由日期或布尔字段中的更改进行控制的组内所有值的标准偏差(例如,对销售按其发生的月份分组)。
如果指定单个值的集合,则可以计算该集合中值的标准偏差。
有关这种汇总的详细信息,参见数组汇总函数。
示例
下列示例适用于Basic语法和Crystal语法:
StdDev({file。
RESULTS})
计算“结果”字段中所有值的标准偏差。
StdDev({订单.金额},{订单.客户ID})
计算“订单”字段每组订单中订单的标准偏差。
每当“客户”字段的值变化时,订单都将进行分组。
StdDev({file.RESULTS},{file.DATE},”daily")
计算“结果"字段中每组试验测试结果的偏差.每当“日期”字段中的值更改为新的日期时,测试结果都将进行分组.
StdDev({file。
SCORES},{file。
NATURALIZED},”anychange”)
根据测试者是否属于某一国籍,对“分数"字段中的值进行分组,并计算每组分数的标准偏差。
下列示例适用于Crystal语法:
StdDev([({file.QTY1}*{file。
PRICE1}),({file。
QTY2}*{file。
PRICE2}),({file。
QTY3}*{file。
PRICE3}),({file。
QTY4}*{file。
PRICE4})])
返回36.60,其中Qty1=2,Price1=10。
00,Qty2=2,Price2=2。
00,Qty3=10,Price3=3。
00及Qty4=8,Price4=11.00。
注释
标准偏差是使用如下方法计算出来的:
计算样本中项目的平均值.
从每个项目的值中减去平均值。
求每个项目差值的平方。
将样本中所有项目的差值平方相加。
将总和除以示例中项目数减1(N-1).结果为方差。
将此步与PopulationStdDev进行比较.
计算方差的平方根以得到标准偏差。
注意:
在公式中使用此函数强制在打印时对公式求值。
有关求值时间考虑因素的详细信息,参见求值时间。
PopulationStdDev
Basic语法和Crystal语法。
重载
PopulationStdDev(fld)
PopulationStdDev(fld,condFld)
PopulationStdDev(fld,condFld,cond)
PopulationStdDev(x)
参数
fld是可由函数求值的任何有效的数据库字段或公式字段.
condFld是用于对fld中的值进行分组时所依据的字段。
cond是表明condFld分组类型的字符串。
只能在condFld是一个日期、时间、日期时间或布尔字段时才指定此参数。
有关此参数有效字符串的详细信息,参见汇总函数的条件。
x是可由正在使用的函数求值的数字或货币值的数组。
返回
数字
操作
使您能够得到报表中一组值的总体标准偏差。
例如:
您可以计算某个字段中所有值的总计总体标准偏差。
您可以计算某个组内所有值的总体标准偏差(例如,对销售按其来自的省进行分组)。
您可以计算其分组是由日期字段或布尔字段的变化所控制(例如,对销售按其完成的月份进行分组)的组中所有值的总体标准偏差。
如果指定单个值的集合,则可以计算该集合值的总体标准偏差。
有关这种汇总的详细信息,参见数组汇总函数。
示例
下列示例适用于Basic语法和Crystal语法:
PopulationStdDev({file.SCORES})
计算整个报表内“分数"字段中所有值的总体标准偏差。
PopulationStdDev({订单.金额},{订单。
客户ID})
计算“金额"字段每组订单中订单的总体标准偏差。
每当“客户ID”字段中的值变化时,订单都将进行分组。
PopulationStdDev({file.RESULTS},{file.DATE},"daily”)
计算“结果"字段中每组试验测试结果的偏差。
每当“日期”字段中的值更改为新的日期时,测试结果都将进行分组。
下列示例适用于Crystal语法:
PopulationStdDev([{file.QTY1},{file。
QTY2},{file。
QTY3},{file.QTY4}])
返回3.57,其中Qty1=2,Qty2=2,Qty3=10和Qty4=8.
注释
总体标准偏差是使用如下方法计算出来的:
计算总体中项目的平均值。
从每个项目的值中减去平均值。
求每个项目差值的平方。
将总体中所有项目的差值平方相加。
将总和除以总体中的项目数(N).结果是总体方差.将此步与StdDev进行比较。
计算总体方差的平方根以得到总体标准偏差。
注意:
在公式中使用此函数强制在打印时对公式求值。
有关求值时间考虑因素的详细信息,参见求值时间。
Variance
Basic语法和Crystal语法。
重载
Variance(fld)
Variance(fld,condFld)
Variance(fld,condFld,cond)
Variance(x)
参数
fld是可由函数求值的任何有效的数据库字段或公式字段。
condFld是用于对fld中的值进行分组时所依据的字段.
cond是表明condFld分组类型的字符串.只能在condFld是一个日期、时间、日期时间或布尔字段时才指定此参数。
有关此参数有效字符串的详细信息,参见汇总函数的条件.
x是可由正在使用的函数求值的数字或货币值的数组。
返回
数字
操作
使您能够得到报表中一组值的方差。
例如:
您可以计算某个字段中所有值的总方差。
您可以计算某个组内所有值的方差(例如,对销售按其来自的省进行分组).
您可以计算其分组是由日期或布尔字段的变化所控制的组中所有值的方差(例如,对销售按其完成的月份进行分组)。
如果指定单个值的集合,则可以计算该集合中值的方差。
有关这种汇总的详细信息,参见数组汇总函数.
示例
下列示例适用于Basic语法和Crystal语法:
Variance({file.AMOUNT})
计算“金额”字段中所有值的方差。
Variance({file.RESULTS},{file.DATE},”daily”)
计算“结果"字段中每组试验测试结果的偏差。
每当“日期”字段中的值更改为新的日期时,测试结果都将进行分组。
下列示例适用于Crystal语法:
Variance({file.SCORES},{file。
TEACHERS})%Variance({file.SCORES})
对“分数”字段的值按教师进行分组,并计算每个教师组的方差与整个报表中的值(对于所有列出的教师)的方差的百分比.
Variance([{file。
QTY1},{file。
QTY2},{file。
QTY3},{file.QTY4}])
返回17.00,其中Qty1=2,Qty2=2,Qty3=10和Qty4=8。
注释
方差是使用如下方法计算出来的:
计算样本中项目的平均值。
从每个项目的值中减去平均值。
求每个项目差值的平方。
将样本中所有项目的差值平方相加。
将总和除以示例中项目数减1(N—1)。
结果为方差。
将最后一步与PopulationVariance进行比较。
注意:
在公式中使用此函数强制在打印时对公式求值。
有关求值时间考虑因素的详细信息,参见求值时间。
PopulationVariance
Basic语法和Crystal语法.
重载
PopulationVariance(fld)
PopulationVariance(fld,condFld)
PopulationVariance(fld,condFld,cond)
PopulationVariance(x)
参数
fld是可由函数求值的任何有效的数据库字段或公式字段.
condFld是用于对fld中的值进行分组时所依据的字段。
cond是表明condFld分组类型的字符串.只能在condFld是一个日期、时间、日期时间或布尔字段时才指定此参数。
有关此参数有效字符串的详细信息,参见汇总函数的条件。
x是可由正在使用的函数求值的数字或货币值的数组。
返回
数字
操作
使您能够得到报表中一组值的总体方差。
例如:
您可以计算某个字段中所有值的总计总体方差.
您可以计算某个组内所有值的总体方差(例如,对销售按其来自的省进行分组)。
您可以计算其分组是由日期或布尔字段中的变化所控制的组内所有值的总体方差(例如,对销售按其完成的月份进行分组).
如果指定单个值的集合,则可以计算该集合中值的总体方差.有关这种汇总的详细信息,参见数组汇总函数.
示例
下列示例适用于Basic语法和Crystal语法:
有关每种PopulationVariance函数的示例,请单击相应的汇总函数。
PopulationVariance({file。
CENSUS})
计算“统计"字段中所有值的方差。
PopulationVariance({file。
RESULTS},{file.PROCEDURE})
计算“结果”字段中每组试验测试结果的总体方差。
每当“过程”字段中的值更改时,测试结果都要分组。
PopulationVariance({file。
SCORES},{file。
NATURALIZED},"anychange")
根据测试者是否属于某一国籍,对“分数"字段中的值进行分组,并计算每组分数的总体方差。
下列示例适用于Crystal语法:
PopulationVariance({file。
SCORES},{file。
TEACHERS})%PopulationVariance({file。
SCORES})
对“分数”字段中的值按教师进行分组,并计算每个教师组的总体方差占整个报表中的值(对于列出的所有教师)的总体方差的百分比。
PopulationVariance([2,4,6,8,10])
返回8.
注释
总体方差是使用如下方法计算出来的:
计算总体中项目的平均值。
从每个项目的值中减去平均值。
求每个项目差值的平方。
将总体中所有项目的差值平方相加。
将总和除以总体中的项目数(N)。
结果是总体方差。
将最后一步与Variance进行比较。
注意:
在公式中使用此函数强制在打印时对公式求值.
有关求值时间考虑因素的详细信息,参见求值时间。
Maximum
Basic语法和Crystal语法。
重载
Maximum(fld)
Maximum(fld,condFld)
Maximum(fld,condFld,cond)
Maximum(x)
参数
fld是可由函数求值的任何有效的数据库字段或公式字段。
condFld是用于对fld中的值进行分组时所依据的字段.
cond是表明condFld分组类型的字符串。
只能在condFld是一个日期、时间、日期时间或布尔字段时才指定此参数.有关此参数有效字符串的详细信息,参见汇总函数的条件。
x是可由正在使用的函数求值的值的数组或范围。
返回
数字
操作
使您能够得到一组值中的最大值。
例如:
如果销售报表包括一个显示每个订单金额的字段,则可以得到在报表上出现的所有订单中金额最大的订单(总计最大金额)。
如果将订单进行分组(例如,对订单按其来自的省进行分组),则可以得到每组中金额最大的订单(在本例中,为每省)。
如果将订单按日期或布尔值分组(例如,按订单发出的月份进行分组),则可以根据日期或布尔字段中的特定变化来求得每组(在本例中,为每月)订单中金额最大的订单。
如果指定单个值的集合,则可以得到该集合的最大值。
有关得到这种最大值的信息,参见数组汇总函数。
示例
下列示例适用于Basic语法和Crystal语法:
Maximum({订单。
订单金额})
返回“金额”字段的最大值。
Maximum({订单.金额},{订单。
客户RID})
标识“金额"字段内每组订单中最大的订单(每个客户的最大订单).每当“客户ID”字段中的值变化时,订单都将进行分组。
Maximum({订单。
金额},{订单.订单日期},”monthly”)
标识“金额”字段内每组订单中最大的订单(每个月的最大订单)。
每当“日期”字段中的值更改为新的月份时,订单都将进行分组。
下列示例适用于Crystal语法:
Maximum还允许设置计算中的下限值。
例如,Maximum([{file。
BALANCE},500])将500设置为计算的下限值。
该表达式将始终返回余额,除非余额小于500,此时,它将返回最低金额500.因此:
Maximum([{file.PROFITS},500])={file。
PROFITS}
其中Profits〉500。
注意:
在公式中使用此函数强制在打印时对公式求值。
有关求值时间考虑因素的详细信息,参见求值时间。
使用此函数时,可以在函数获得“最大值”之前使用HasUpperBound(x)函数测试范围是否有“最大值"。
Minimum
Basic语法和Crystal语法。
重载
Minimum(fld)
Minimum(fld,condFld)
Minimum(fld,condFld,cond)
Minimum(x)
参数
fld是可由函数求值的任何有效的数据库字段或公式字段.
condFld是用于对fld中的值进行分组时所依据的字段。
cond是表明condFld分组类型的字符串。
只能在condFld是一个日期、时间、日期时间或布尔字段时才指定此参数.有关此参数有效字符串的详细信息,参见汇总函数的条件.
x是可由正在使用的函数求值的值的数组或范围。
返回
小数数字
操作
使您能够得出在一组值中出现的最小值。
例如:
如果销售报表包括一个显示每个订单金额的字段,则可以得到在报表上出现的所有订单中金额最小的订单(总计最小金额).
如果对订单进行分组(例如,对订单按其来自的省进行分组),则可以得出每组中金额最小的订单(在本例中,为每省).
如果将订单按日期或布尔值分组(例如,对订单按其发出的月份进行分组),则可以根据日期或布尔字段中的特定变化来得出每组中金额最小的订单(在本例中,为每月)。
如果指定单个值的集合,则可以得到该集合中的最小值。
有关得出这种最小值的信息,参见数组汇总函数。
示例
下列示例适用于Basic语法和Crystal语法:
Minimum({file。
QTY})
返回QTY字段的最小值。
Minimum({订单。
金额},{订单。
客户ID})
标识“金额"字段内每组订单中最小的订单(每个客户的最小订单).每当“客户ID"字段中的值变化时,订单都将进行分组。
Minimum({订单.金额},{订单.订单日期},"monthly")
标识“金额”字段内每组订单中最小的订单(每个月的最小订单)。
每当“日期”字段中的值更改为新的月份时,订单都将进行分组。
下列示例适用于Crystal语法:
Minimum还允许您设置计算时的上限值.例如:
Minimum([{file.COMMISSION},2500])返回向最大值或上限2500美元增长的佣金。
一旦增长的佣金超过2500美元的标记,此表达式即返回2500。
因此:
Minimum([{file。
COMMISSION},2500])
返回1575,其中commission=1575。
注意:
在公式中使用此函数强制在打印时对公式求值。
有关求值时间考虑因素的详细信息,参见求值时间.
使用此函数时,可以在函数获取“最小值”之前使用HasLowerBound(x)函数测试范围是否有“最小值"。
Count
Basic语法和Crystal语法。
重载
Count(fld)
Count(fld,condFld)
Count(fld,condFld,cond)
Count(x)
参数
fld是可由函数求值的任何有效的数据库字段或公式字段。
condFld是用于对fld中的值进行分组时所依据的字段。
cond是表明condFld分组类型的字符串。
只能在condFld是一个日期、时间、日期时间或布尔字段时才指定此参数.有关此参数有效字符串的详细信息,参见汇总函数的条件。
x是可由正在使用的函数求值的值的数组。
返回
数字
操作
使您能够对报表中出现的值进行计数(对于指定字段).例如:
如果销售报表包含订购的所有订单及每个订单的金额,则可以计算该报表上出现的订单的总数(总计计数)。
如果对订单进行分组(例如,对订单按其来自的省进行分组),则可以计算每组(在本例中,为每个省)中的订单数.
如果对订单按日期或布尔值分组(例如,对订单按其发出的月份进行分组),则可以根据日期或布尔字段中的特定变化来计算每组(在本例中,为每月)中的订单数.
如果指定单个值的集合,则可以计算该集合中的值的数目。
有关这种计数的信息,参见数组汇总函数。
示例
下列示例适用于Basic语法和Crystal语法:
Count({订单。
金额},{订单.客户ID})
此公式对“金额"字段内每组订单中订单的数目进行计数(每个客户的订单总计)。
每当“客户ID”字段中的值变化时,订单都将进行分组.
Count({订单。
订单金额},{订单。
订单日期},"monthly”)
对“金额”字段内每组订单中订单的数目进行计数(每月订单总计).每当“日期”字段中的值更改为新的月份时,订单都将进行分组。
下列示例适用于Crystal语法:
IfCount({订单.订单ID})>=100Then
"Congratulationsonmeetingyourquota!
"
Else
””
如果订单数大于或等于100,则打印祝贺信息,如果订单数小于100,则什么也不打印。
Count([1,2,3,4,5])
返回5。
对数组中值的总数进行计数。
注意:
在公式中使用此函数强制在打印时对公式求值。
有关求值时间考虑因素的详细信息,参见求值时间。
DistinctCount
Basic语法和Crystal语法.
重载
DistinctCount(fld)
DistinctCount(fld,condFld)
DistinctCount(fld,condFld,cond)
DistinctCount(x)
参数
fld是可由函数求值的任何有效的数据库字段或公式字段。
condFld是用于对fld