> Task 3: | Build a data set

> In this procedure, you build a data set to indicate what data to extract from the Customers, OrderDetails, and Products tables.

> 1 | In Data Explorer, right-click Data Sets, and choose New Data Set.

> 2 | On New Data Set, type the following text for data set name:

> Sales

> 3 | Use the default values for the other fields.

> n | Data Source shows the name of the data source that you created earlier.

> n | Data Set Type specifies that the data set uses a SQL SELECT query.

> 4 | Choose Next. Query displays the information to help you create a SQL query. The text area on the right side shows the required keywords of a SQL SELECT statement.

> 5 | Use the following SQL SELECT statement to indicate what data to retrieve. You can type the column and table names, or you can drag them from Available Items to the appropriate location in the SELECT statement.

> SELECT Customers.state,
> Orderdetails.quantityOrdered,
> Orderdetails.priceEach,
> Products.productline
> FROM Customers INNER JOIN Orders ON Customers.customerNumber
> = Orders.customerNumber
> INNER JOIN Orderdetails ON Orders.orderNumber = Orderdetails.orderNumber
> INNER JOIN Products ON Orderdetails.productCode = Products.productCode
> WHERE Customers.country = 'USA'
> This SELECT statement joins four tables to get the required data.

> 6 | Choose Finish to save the data set. Edit Data Set displays the columns specified in the query, and provides options for editing the data set.

> 7 | Choose Computed Columns, then choose New to create a computed field that calculates extended prices by multiplying values from the QUANTITYORDERED and PRICEEACH fields.

> 8 | On New Computed Column, specify the following values, as shown in Figure 17‑2:

> 1 | In Column Name, type

> EXTENDED_PRICE

> 2 | In Data Type, select Decimal.

> 3 | In Expression, type

> row["QUANTITYORDERED"] * row["PRICEEACH"]
> Alternatively, you can open the expression builder to construct the expression by selecting the appropriate data set fields. Note that unlike the SELECT statement where you can type table field names in any case, data set field names are case-sensitive. If, in Expression, you typed row["quantityOrdered"], BIRT displays an error when you preview the results returned by the data set.

> Figure 17-2 | Computed field EXTENDED_PRICE

> 4 | Choose OK to save the computed field.

> 9 | Choose Preview Results to confirm that the query is valid and that it returns the correct data. If you created the SELECT statement and computed field correctly, you see the results that appear in Figure 17‑3. These are the data rows that the query returns.

> Figure 17-3 | Preview of rows returned by the Sales data set

> 10 | Choose OK to save the data set.

(c) Copyright Actuate Corporation 2008