<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn" lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="GENERATOR" content="Quadralay WebWorks Publisher 2003 for FrameMaker 8.0.7.2249" />
<meta name="TEMPLATEBASE" content="Dynamic-HTML-Eclipse-20060620" />
<meta name="LASTUPDATED" content="06/23/06 17:00:15" />
<title>Total</title>
<link rel="StyleSheet" href="document.css" type="text/css" media="all" />
<link rel="StyleSheet" href="catalog.css" type="text/css" media="all" />
<link rel="contents" title="目录" href="TOC.html" />
<link rel="first" title="第一个" href="TOC.html" />
<link rel="last" title="最后一个" href="birt-24-1.html" />
<link rel="previous" title="上一个" href="birt-24-3.html" /></head>
<body>
<table id="SummaryNotReq1" border="0" align="right" cellpadding="4" cellspacing="0">
<tr>
<td>
<a accesskey="4" href="birt-24-3.html"><img id="LongDescNotReq1" src="images/prev.gif" border="0" alt="上一个主题" /></a><img id="LongDescNotReq2" src="images/nextx.gif" border="0" alt="下一个主题" />
</td>
</tr>
</table>
<br />
<br />
<!-- AC_CONTENT -->
<a name="wp170439"> </a><h3 class="pHeading3">
Total 类</h3>
<a name="wp102032"> </a><p class="pBody">
Total 类是作为聚集函数的容器提供的。Total 类包含许多用于进行聚集的函数。这些函数是 BIRT 对
JavaScript 的扩展,它们对一组行进行汇总。BIRT 报告引擎在下列两个阶段实现了函数:</p>
<div class="pSmartList1"><ul class="pSmartList1">
<a name="wp190625"> </a><div class="pSmartList1"><li>在报告的数据转换阶段发生的聚集阶段</li></div>
<a name="wp190626"> </a><div class="pSmartList1"><li>在生成和表示阶段发生的聚集访问阶段</li></div>
</ul></div>
<a name="wp190630"> </a><p class="pBody">
BIRT 重新编写了任何包含聚集的脚本,从而创建了执行这两个阶段的已修订脚本。您只有在调试包含聚集函数的表达式时,了解此过程才十分重要。请研究在组的组脚中显示值的示例,其中,该值是在所有帐户的总计中所占的百分比。以下语句执行此操作:</p>
<div class="pPreformatted"><pre class="pPreformatted">
(balance / Total.sum( balance, Total.OVERALL ) ) * 100.0<a name="wp190646"> </a>
</pre></div>
<a name="wp190652"> </a><p class="pBody">
在以上示例中,Total.OVERALL 导致 BIRT 对所有行计算求和聚集函数,即使此表达式出现在组总计中亦如此。为了计算上一示例中的表达式,BIRT 将执行一次遍历以计算总计,然后执行第二次遍历以计算每个帐户的值。</p>
<a name="wp218962"> </a><p class="pBody">
Total 类的一般规则是:</p>
<div class="pSmartList1"><ul class="pSmartList1">
<a name="wp218964"> </a><div class="pSmartList1"><li>聚集函数忽略空值。</li></div>
<a name="wp218965"> </a><div class="pSmartList1"><li>应用程序可以有选择地指定分组级别。</li></div>
<a name="wp218967"> </a><div class="pSmartList1"><li>应用程序可以有选择地指定条件。</li></div>
<a name="wp218968"> </a><div class="pSmartList1"><li>应用程序不能创建此类的实例。</li></div>
</ul></div>
<a name="wp218641"> </a><h3 class="pHeading3">
关于分组和过滤</h3>
<a name="wp218642"> </a><p class="pBody">
所有聚集函数都允许使用两个可选参数来指示过滤和分组:
</p>
<div class="pPreformatted"><pre class="pPreformatted">
Total.<聚集函数> ( ..., filter, group )<a name="wp218643"> </a>
</pre></div>
<a name="wp218644"> </a><h4 class="pHeading4">
关于过滤器参数</h4>
<a name="wp218648"> </a><p class="pBody">
过滤器参数提供了一个布尔表达式,对于每一行,BIRT 都会对该表达式进行求值。在计算聚集时,BIRT
仅考虑与该过滤器匹配的行。例如,报告可以对活动客户的贷记限额进行求和,以确定最大贷记风险。</p>
<a name="wp218652"> </a><p class="pBody">
此表达式是在数据转换阶段执行的。它可以访问行中的列、参数、用户定义的函数以及上述上下文描述中定义的其他资源。例如:
</p>
<div class="pPreformatted"><pre class="pPreformatted">
Total.sum( row["CreditLimit"], row["Active"] == 'Y' );<a name="wp218653"> </a>
</pre></div>
<a name="wp218654"> </a><p class="pBody">
指定过滤器参数 null、未定义过滤器参数或者指定 Total.NO_FILTER,都表示未提供过滤器。如果应用程序未提供过滤器,则过滤器缺省为未定义。如果提供了组参数,则必须提供 null 或 Total.NO_FILTER 以指示不进行过滤。</p>
<a name="wp218655"> </a><h4 class="pHeading4">
关于组参数</h4>
<a name="wp218656"> </a><p class="pBody">
报告经常需要显示当前分组级别的总计。例如,假定一个报告按客户和订单进行分组,并且详细信息记录表示订单中的行项。每个行项都有单位价格和数量,如以下聚集函数所示:</p>
<div class="pPreformatted"><pre class="pPreformatted">
Total.sum( row["price"] * row["quantity"] )<a name="wp218657"> </a>
</pre></div>
<a name="wp218658"> </a><p class="pBody">
此聚集函数对当前组的金额进行求和。如果将此聚集放在订单组脚中,则它将显示该订单的行项之和。如果将其放在客户组脚中,它就会显示该客户的所有订单的所有行项之和。并且,如果将其放在报告组脚中,它就会显示所有客户的所有行项之和。</p>
<a name="wp218659"> </a><p class="pBody">
但是,应用程序有时需要访问另一分组级别的总计。例如,您可能想了解一个订单的总金额在该客户所有订单中所占的百分比。在这种情况下,必须访问除当前组以外的组的总计。可以使用分组参数来实现此目的:</p>
<div class="pPreformatted"><pre class="pPreformatted">
Total.sum( row.CreditLimit, null, "Customer" );<a name="wp218660"> </a>
</pre></div>
<a name="wp218661"> </a><p class="pBody">
组参数可以是下列其中一项:</p>
<div class="pSmartList1"><ul class="pSmartList1">
<a name="wp218662"> </a><div class="pSmartList1"><li>Null,这表示当前分组级别。</li></div>
<a name="wp218663"> </a><div class="pSmartList1"><li>当前分组级别或更高分组级别的组的名称。此名称是报告设计中指定的名称。</li></div>
<a name="wp218664"> </a><div class="pSmartList1"><li>当前分组级别或更高分组级别的组的组键表达式。</li></div>
<a name="wp218665"> </a><div class="pSmartList1"><li>组级别的数字索引。0 表示整体总计,1 表示最高级别的组,依此类推。</li></div>
<a name="wp218666"> </a><div class="pSmartList1"><li>相对组索引:-1 表示比此组高一级的组,-2 表示比此组高两级的组,依此类推。</li></div>
<a name="wp218667"> </a><div class="pSmartList1"><li>特殊名称“Overall”,此名称引用数据集的整体总计。也可以使用静态属性 Total.OVERALL。</li></div>
</ul></div>
<a name="wp219212"> </a><p class="pBody">
下列示例演示了三类组参数:
</p>
<div class="pPreformatted"><pre class="pPreformatted">
Total.sum( row["myCol"] null, null ); // 当前组<a name="wp219213"> </a>
Total.sum( row["myCol"], null, "Customer" ); // 按名称<a name="wp219214"> </a>
Total.sum( row["myCol"], null, "row[`custID']" ); // 按组键<a name="wp218671"> </a>
Total.sum( row["myCol"], null, 1 ); // 按组索引<a name="wp218672"> </a>
Total.sum( row["myCol"], null, "Overall" ); // 整体总计<a name="wp218673"> </a>
Total.sum( row["myCol"], null, 0 ); // 整体总计<a name="wp218674"> </a>
</pre></div>
<a name="wp218675"> </a><p class="pBody">
使用分组参数时,必须提供过滤器参数。如果不需要过滤器,请指定 null 作为过滤器值。不能将组索引括在引号中,它必须是数字。即,1 表示级别为 1 的组,而 "1" 表示名为 "1" 的组。</p>
<a name="wp102037"> </a><h4 class="pHeading4ScanBold">
静态属性
</h4>
<a name="wp102039"> </a><p class="pBody">
OVERALL
</p>
<div class="pSmartList1"><ul class="pSmartList1">
<a name="wp102040"> </a><div class="pSmartList1">这是用于组参数的常量,它请求计算数据集的整体总计。</div>
</ul></div>
<a name="wp102041"> </a><h4 class="pHeading4ScanBold">
函数
</h4>
<div class="pSmartList1"><ul class="pSmartList1">
<a name="wp102043"> </a><div class="pSmartList1"><li>ave( expr [, filter [, group ]] )</li></div>
<a name="wp213312"> </a><div class="pSmartList1">一组值的算术平均值。</div>
<a name="wp213362"> </a><div class="pSmartList1"><li>count( [ filter [, group ]] )</li></
没有合适的资源?快使用搜索试试~ 我知道了~
birt教程,详细介绍了birt如何使用
共428个文件
gif:305个
html:121个
css:2个
5星 · 超过95%的资源 需积分: 6 41 下载量 125 浏览量
2011-07-28
11:27:32
上传
评论
收藏 2.33MB RAR 举报
温馨提示
Birt 报表参数的使用,Birt 是一款非常流行的开源报表开发工具。本文总结了 Birt 报表中参数机制,并结合实例详细地阐述了参数的各种使用方法,最后介绍了 Birt 报表的源代码级使用。以期为 Birt 报表使用者提供一个有益的参考。
资源推荐
资源详情
资源评论
收起资源包目录
birt教程,详细介绍了birt如何使用 (428个子文件)
catalog.css 20KB
document.css 277B
CodeEntry.gif 54KB
datestyleapplied.gif 50KB
CH_TutSelectIntro.gif 47KB
CHT_Titles1.gif 45KB
CH_AddAxisTitleText_Red.gif 45KB
CH_TLeaderLines.gif 43KB
CH_TSelectData1.gif 43KB
CH_FormatChArea.gif 42KB
providingCode.gif 41KB
setcolwidth.gif 40KB
Listing_report_full_screen_01.gif 39KB
settableborders.gif 39KB
CH_ChangeAxisType.gif 38KB
edit_data_set_CM.gif 37KB
CH_PlotClientAreagz.gif 37KB
birt-16-14-23.gif 37KB
birt-16-14-18.gif 37KB
table_selected.gif 37KB
oprpt_output17.gif 36KB
CH_Color-2.gif 36KB
newsql.gif 36KB
CH_PlotOutlineee.gif 36KB
data_set_view_tables.gif 35KB
query_02.gif 34KB
layout5.gif 34KB
CH_MarkersAdd_Red3.gif 33KB
preferences_preview.gif 33KB
CH_Markers2.gif 32KB
grpt_grpprops.gif 32KB
CH_ValSeriesTItle_Red.gif 32KB
EB_combined_fields.gif 32KB
oprpt_output5.gif 32KB
join_ds.gif 32KB
namesexpression.gif 31KB
CH_TData3-2.gif 31KB
CH_PlotOutlineed.gif 31KB
oprpt_output9.gif 31KB
CH_PlotOutline.gif 31KB
CH_SelectData1.gif 31KB
CustNumber_expression.gif 30KB
CH_TLabels3.gif 30KB
grpt_layout2.gif 30KB
hyperopt_03.gif 30KB
oprpt_output14.gif 30KB
insertgridrow.gif 30KB
JavaProjectPropertiesDialog.gif 30KB
oprpt_output15.gif 30KB
CH_Gridlineseg.gif 30KB
CH_Markers1.gif 30KB
CH_Gridlinesef.gif 30KB
insertgridcolumn.gif 30KB
CHT_8-2.gif 29KB
CHT_Labels1.gif 29KB
oprpt_output10.gif 29KB
CH_MarkersAdd_Red.gif 29KB
dsparameterresults.gif 29KB
newreport.gif 29KB
CH_Preferences.gif 28KB
Edit_Group_filter.gif 28KB
CH_Gridlines.gif 28KB
CH_TLabels2.gif 28KB
grpt_output10.gif 28KB
CH_PlotClientArea.gif 28KB
CH_Gridlineshe.gif 27KB
CH_Gridlineshd.gif 27KB
oprpt_output13.gif 27KB
new_col_binding.gif 27KB
grpt_newquery.gif 27KB
querywithmarker_03.gif 26KB
JavaClass.gif 26KB
propeditor_resource.gif 26KB
basic_query.gif 26KB
ThemeProperty.gif 26KB
CH_TutorialDragChart.gif 26KB
editdataset02.gif 25KB
manage_jdbc_drivers_drivers_selected.gif 25KB
manage_jdbc_drivers_jar_files.gif 25KB
output5.gif 25KB
tutorial3Shot4.gif 25KB
grpt_layout5.gif 25KB
CH_PieOutline_Red2.gif 24KB
exportdata.gif 24KB
grpt_output1.gif 24KB
computed_column_expression1.gif 24KB
select_data_binding.gif 24KB
previewresults.gif 24KB
oprpt_output3.gif 24KB
oprpt_expbuilder.gif 23KB
binding_dataset_parm.gif 23KB
output3.gif 23KB
grpt_output7.gif 23KB
MyLabelClass2.gif 23KB
layout2.gif 23KB
selectgridrow1.gif 23KB
formatcurrency.gif 23KB
newrptparam.gif 23KB
oprpt_layout6.gif 23KB
CHT_P4dj.gif 23KB
共 428 条
- 1
- 2
- 3
- 4
- 5
nahelulu
- 粉丝: 3
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页