> ## Writing Expressions

> You can create many reports using data that comes directly from a data source simply by dragging the data set fields from Data Explorer to the report. Sometimes, however, you want to display information that is not in the data source, or you want to display data differently than it appears in the data source. You might also want to sort data using a formula, rather than sorting on an existing field. For these cases, and many others, write expressions using JavaScript.

> An expression is a statement that produces a value. An expression can be a literal value, such as:

> 3.14
> "It is easy to create reports with BIRT"

> When you drag a field into the report, BIRT Report Designer creates a column binding with the correct expression for you. The expression specifies the name of the field whose values the report displays. For example, the following expressions get values from the customerName field and the phone field, respectively:

> dataSetRow["customerName"]
> dataSetRow["phone"]

> An expression can contain any combination of literal values, fields, operators, variables, and functions, as long as it evaluates to a single value. In the following examples, the first expression combines static text with a field, the second expression uses a JavaScript function, and the third expression multiplies the values of two fields:

> "Order Total: " + row["orderTotal"]
> row["orderDate"].getYear()
> row["itemQuantity"] * row["itemPrice"]

(c) Copyright Actuate Corporation 2009