数据表达式列:
与一些数据库一样,数据集中的数据表可以包含值由计算所得而不是从存储区读取的列。例如,在订单明细记录中,定义一个 ExtendedPrice 列可能有意义,即通过将数量和价格相乘,而不是将总数实际存储在记录中。计算列也可以添加或计数子记录中的值并筛选其他记录。可以用表达式定义计算列。
表达式的语法由标准算法、布尔值和字符串运算符与文本值组成。可以用数据值的列名称引用数据值(与在 SQL 语句中一样)并包括 Count 这样的聚合函数。
例如,基于当前记录的 UnitPrice 和 Quantity 列的 ExtendedPrice 列的表达式可以仅仅是:
UnitPrice * Quantity
若要引用子表中的列,可以使用保留字“Child.”后跟列的名称。例如,以下表达式返回所有相关子记录中 Price 列的平均值:
Avg(Child.Price)
如何在报表软件中创建数据表达式列:
在报表软件中,用户在调用某列出具用户可以在数据表达式中使用任意有效的JavaScript语法,想要在Style Report报表软件中创建一个表达式列,只需要按照以下步骤操作:
1. 开始自定义向导中的任意一个(请见《Java 报表工具--如何在Style Report中制作用户自定义图表》),在步骤1中,选择需要的数据源。
2. 继续到向导中的步骤2.注意底部的‘创建表达式列’链接。
‘创建表达式列’链接在下面的向导页面中也可见,打开公式编辑器,如下图。
4. 在‘名称’字数据段内,输入新列的名称。
5. 选择‘返回数据类型’,也就是新列包含的数据类型。
6. 在公式编辑器中,选择‘sql’选择框用来使用SQL语法输入公式。不选中此选择框,则使用JavaScript语法。
7. 使用适当的运算符号(SQL或者JavaScript)构成需要的公式。想要添加字数据段名称到公式中,只需要在‘字数据段’列表中点击需要的名称。
例如,用户可以设定一个SQL公式:
field['Price'] * field['Discount']
并且有返回数据类型‘双’。用户也可以设定一个JavaScript公式,并且有返回数据格式‘字符串’:
if (field['Discount'] > 0) {
'Yes'; // return Yes
} else {
'No'; // return No
}
以上为Java报表工具Style Report通过用户自定义报表定义数据表达式列的方法,同时,报表软件在报表设计器端也能根据类似的方法定义新的数据表达式列,在生成报表时增加需要的数值列。
部分内容引用自:http://software.it168.com/manual/asp.net/1-4.htm