前一主題下一主題


教學指導 3:建置含並列子報告的報告

這一節提供逐步指示來協助您建置顯示客戶清單的報告。 這份報告會顯示每個客戶的訂購和付款資訊。 訂購資訊和付款資訊放在相鄰的個別子報告中。 客戶報告是主要報告,也稱為外層報告,訂購和付款子報告是明細報告,也稱為內層報告。

每份報告都從範例資料庫 Classic Models 的不同表格中存取資料。 客戶報告使用 Customers 表格的資料。 訂購子報告使用 Orders 表格的資料。 付款子報告使用 Payments 表格的資料。

一般欄位 CUSTOMERNUMBER 負責將各份報告鏈結起來。 主要報告的鏈結欄位值,決定了明細報告將顯示哪些資料。 比方說,如果主要報告的客戶號碼是 173,明細報告便會顯示 ID 為 173 之客戶的訂購和付款資訊。

圖 13-1 顯示已完成之報告的一部分。

圖 13-1 Customers 主要報告,含有訂購和付款子報告

在這個教學指導中,您將執行下列作業:

作業 1:建立新報告

如果您使用「BIRT 報告設計者」,這項作業假設您已建立報告的專案。 如果您使用「BIRT RCP 報告設計者」,便不需要專案。

  1. 選擇「檔案 -> 新建 -> 報告」。
  2. 在「新建報告」中,選取用來儲存報告的專案。
  3. 輸入下列文字來作為檔名:
  4. Cust_Orders_Payments.rptdesign 
    
  5. 選擇「下一個」。
  6. 選取「空白報告」,再選擇「完成」。這時新報告會出現在版面編輯器中。

作業 2:建置資料來源

開始在版面編輯器中設計報告之前,請先建立一個資料來源來將報告連接到「典型模型」資料庫。

  1. 選擇「資料總管」。
  2. 用滑鼠右鍵按一下「資料來源」,再從快速功能表中選取「新建資料來源」。
  3. 從資料來源清單中,選取「Classic Models Inc. 範例資料庫」,使用預設資料來源名稱,再選取「下一步」。這時會出現新建資料來源的連線資訊。
  4. 選擇「完成」。這時「BIRT 報告設計者」會建立連接到範例資料庫的新資料來源。在「資料總管」內,它會出現「資料來源」中。

作業 3:建置客戶報告的資料集

在這個程序中,您將建置資料集來指出要從 Customers 表格中擷取哪些資料。您建立的客戶報告稍後會使用這個資料集。

  1. 在「資料總管」中,用滑鼠右鍵按一下「資料集」,再選擇「新建資料集」。
  2. 在「新建資料集」中,輸入下列文字來作為資料集名稱:
  3. Customers 
    
  4. 其他欄位使用預設值:
    • 「資料來源」會顯示您先前建立之資料來源的名稱。
    • 「資料集類型」指定資料集使用 SQL SELECT 查詢。
  5. 選擇「下一個」。這時「查詢」會顯示資訊來協助您建立 SQL 查詢。右側文字區會顯示 SQL SELECT 陳述式的必要關鍵字。
  6. 展開 CUSTOMERS 表格。這時會出現 Customers 表格中的直欄。
  7. 利用下列 SQL SELECT 陳述式來指出要擷取的資料。您可以輸入直欄和表格名稱,也可以從 SELECT 陳述式適當位置左側中拖曳它們。
  8. SELECT Customers.customerName, 
    Customers.customerNumber 
    FROM Customers 
    
    您建立的這個陳述式(如圖 13-2 所示)會從 CUSTOMERS 表格的 CUSTOMERNAME 和 CUSTOMERNUMBER 直欄中取得值。

    圖 13-2 查詢
  9. 選擇「完成」來儲存資料集。這時「編輯資料集」會顯示查詢所指定的直欄,且會提供用來編輯資料集的選項。
  10. 選擇「預覽結果」來確認查詢有效,且它會傳回正確資料。如果您正確建立 SELECT 陳述式,您應該會見到出現在圖 13-3 中的結果。 這些都是查詢傳回的資料列。
  11. 圖 13-3 資料預覽
  12. 選擇「確定」。

作業 4:建置訂購子報告的資料集

在這個程序中,您將建置資料集來指出要從 Orders 表格中擷取哪些資料。 您建立的訂單子報告稍後會使用這個資料集。

  1. 在「資料總管」中,用滑鼠右鍵按一下「資料集」,再從快速功能表中選擇「新建資料集」。
  2. 在「新建資料集」中,輸入下列文字來作為資料集名稱:
  3. Orders 
    
  4. 其他欄位使用預設值,再選擇「下一步」。
  5. 在「查詢」中,展開 Orders 表格來顯示表格中的直欄。
  6. 利用下列 SQL SELECT 陳述式來指出要擷取的資料:
  7. SELECT Orders.orderNumber, 
    Orders.orderDate 
    FROM Orders 
    WHERE Orders.customerNumber = ? 
    
    這個陳述式會選取 Orders 表格中的 ORDERNUMBER 和 ORDERDATE 直欄。WHERE 子句有一個 CUSTOMERNUMBER 值的參數記號。當報告執行時,訂單子報告會從客戶報告中取得現行 CUSTOMERNUMBER 值。
  8. 選擇「完成」來儲存資料集。這時「編輯資料集」會顯示查詢所指定的直欄,且會提供用來編輯資料集的選項。
  9. 建立一個資料集參數來提供 WHERE 子句中的 CUSTOMERNUMBER 值:
    1. 從視窗左側中,選擇「參數」。這時「編輯資料集」會顯示參數資訊。
    2. 在表格的第一行指定下列值:
      • 名稱:CustID
      • 資料類型:Integer
      • 方向:輸入
      • 預設值:103
      • 103 是 CUSTOMERNUMBER 直欄中的值之一。「BIRT 報告設計者」需要一個預設值,才能執行查詢來進行測試。
    「編輯資料集」應該看起來如圖 13-4 所示。

    圖 13-4 訂單子報告中的參數定義
  10. 選擇「預覽結果」來確認查詢有效,且它會傳回正確資料。如果您正確建立 SELECT 陳述式及資料集參數,您應該會見到出現在圖 13-5 中的結果。 這些都是查詢傳回的客戶號碼 103 的資料列。
  11. 圖 13-5 訂單子報告的資料預覽
  12. 選擇「確定」來將變更儲存在資料集中。

作業 5:建置付款子報告的資料集

在這個程序中,您將建置資料集來指出要從 Payments 表格中擷取哪些資料。您建立的付款子報告稍後會使用這個資料集。

  1. 在「資料總管」中,用滑鼠右鍵按一下「資料集」,再從快速功能表中選擇「新建資料集」。
  2. 在「新建資料集」中,輸入下列文字來作為資料集名稱:
  3. Payments 
    
  4. 其他欄位使用預設值,再選擇「下一步」。
  5. 在「查詢」中,展開 Payments 表格來顯示表格中的直欄。
  6. 利用下列 SQL SELECT 陳述式來指出要擷取的資料:
  7. SELECT Payments.paymentDate, 
    Payments.checkNumber, 
    Payments.amount 
    FROM Payments 
    WHERE Payments.customerNumber = ? 
    
    這個陳述式會從 Payments 表格中選取 PAYMENTDATE、CHECKNUMBER 和 AMOUNT 直欄。 WHERE 子句有一個 CUSTOMERNUMBER 值的參數記號。 當報告執行時,付款子報告會從客戶報告中取得現行 CUSTOMERNUMBER 值。
  8. 選擇「完成」來儲存資料集。這時「編輯資料集」會顯示查詢所指定的直欄,且會提供用來編輯資料集的選項。
  9. 建立一個資料集參數來提供 WHERE 子句的 CUSTOMERNUMBER 值:
    1. 選擇「參數」。這時「編輯資料集」會顯示參數資訊。
    2. 在表格的第一行指定下列值:
      • 名稱:CustID
      • 資料類型:Integer
      • 方向:輸入
      • 預設值:103
  10. 選擇「預覽結果」來確認查詢有效,且它會傳回正確資料。如果您正確建立 SELECT 陳述式及資料集參數,您應該會見到出現在圖 13-6 中的結果。 這些都是查詢傳回的客戶號碼 103 的資料列。
  11. 圖 3-56 付款子報告的資料預覽
  12. 選擇「確定」來將變更儲存在資料集中。

作業 6:建立客戶主要報告

您利用清單元素來建立主要報告及組織其中的訂單及付款子報告。 清單會疊代處理各個客戶資料列,且會建立每項記錄的相關訂單和付款子報告。 為了簡單,客戶報告只會顯示客戶名稱。 當然,它可以顯示其他資料,如客戶地址、電話號碼和信用限制等。

  1. 選擇「選用區」。
  2. 從選用區中,將清單元素拖放在報告中。這時清單元素會出現在報告中,如圖 13-7 所示。
  3. 圖 13-7 清單元素
  4. 將清單關聯或連結於 Customers 資料集:
    1. 在「內容編輯器」中,選擇「連結」標籤。
    2. 在「資料集」中,從下拉清單選取 Customers。
  5. 選擇「資料總管」中,展開「資料集」,再展開 Customers。您在查詢中指定的直欄會出現在 Customers 之下。
  6. 從「資料總管」中,將 CUSTOMERNAME 拖放在清單的詳細資料區域中。「BIRT 報告設計者」會建立一個連結到資料集欄位的具名直欄。這時「選取資料連結」會顯示這個直欄連結。
  7. 選擇「確定」來接受預設直欄連結。在版面編輯器中,這時清單會顯示您新增的欄位,如圖 13-8 所示。
  8. 圖 13-8 清單元素中的資料集欄位
  9. 選擇「預覽」來預覽報告。這時報告應該看起來如圖 13-9 所示。報告會列出訂單中的所有客戶名稱,查詢在這份訂單中傳回所有這些名稱。
  10. 圖 13-9 主要報告的資料預覽
  11. 依遞增次序來排序客戶名稱:
    1. 選擇「版面」來返回版面編輯器。
    2. 在版面編輯器中,選取清單元素。請將滑鼠指標停留在左下角上,直到出現「清單」標籤,再選取這個標籤。
    3. 在「內容編輯器」中,選擇「排序」標籤。
    4. 在「排序」頁面中,選擇「新增」來建立排序表示式。這時在「排序依據」之下,會出現一列。
    5. 按一下「排序索引鍵」之下的區域,選取出現的方向鈕,再從下拉清單中選取 CUSTOMERNAME。
    6. 利用預設值「遞增」來作為「排序方向」,如圖 13-10 所示。
    7. 圖 13-10 排序表示式
  12. 預覽報告。這時會依遞增次序來顯示客戶名稱。

作業 7:建立訂單子報告

訂單子報告會以列和直欄的格式來列出每個客戶的訂單。 它會顯示每份訂單的訂單號碼和日期。 如果要疊代處理訂單資料集列,以及將它們顯示成列和直欄的格式,請使用表格元素。

  1. 選擇「版面」來返回版面編輯器。
  2. 從選用區中,將表格元素拖放在詳細資料區域中的 [CUSTOMERNAME] 資料元素之下。這時「插入表格」會提示您指定直欄的數目及建立表格的詳細資料列。
  3. 指出您要建立 2 個直欄和 1 詳細資料列,再選擇「確定」。這時版面編輯器會出現一份表格,其中含有兩個直欄和一個詳細資料列。
  4. 將表格連結到 Orders 資料集:
    1. 在「內容編輯器」中,選擇「連結」。
    2. 在「資料集」中,從下拉清單選取 Orders。
  5. 選擇「資料總管」中,展開「資料集」,再展開 Orders。您在查詢中指定的直欄會出現在 Orders 之下。
  6. 從「資料總管」中,將 ORDERNUMBER 拖放在表格詳細資料列的第一個資料格中。「BIRT 報告設計者」會建立一個連結到資料集欄位的具名直欄。這時「選取資料連結」會顯示這個直欄連結。
  7. 選擇「確定」來接受預設直欄連結。
  8. 在版面編輯器中,資料集欄位放在其中的表格資料格會含有顯示 [ORDERNUMBER] 的資料元素。 在這個資料元素之上,是版面編輯器自動加到標頭列中的標籤元素。 這個標籤會將欄位名稱顯示成靜態文字,且用來作為直欄標題。
  9. 從「資料總管」中,將 ORDERDATE 拖放在詳細資料列的第二個資料格中。 選擇「確定」來接受預設直欄連結。這時報告頁面應該看起來如圖 13-11 所示。
  10. 圖 13-11 報告設計包括訂單子報告
  11. 依序號來顯示訂單的各個列:
    1. 選取訂單表格。
    2. 在「內容編輯器」中,選擇「排序」。
    3. 在「排序」頁面中,選擇「新增」來建立排序表示式。這時在「排序依據」之下,會出現一列。
    4. 按一下「排序索引鍵」之下的區域,選取出現的方向鈕,再從下拉清單中選取 ORDERNUMBER。
    5. 利用預設值「遞增」來作為「排序方向」。
  12. 預覽報告。
  13. 這時報告應該看起來如圖 13-12 所示。

    圖 13-12 報告的預覽顯示重複的訂單記錄
    每個客戶都出現相同的訂單記錄,因為您在建立資料集參數 CustID 時,指定了 customerNumber 預設值 103。 由於這個預設值,訂單子報告一律會顯示 103 客戶的訂單記錄。
    解決方案是每次主要報告中的客戶列有了改變時,都動態更新 CustID 參數值。 下列作業說明這個程序。

作業 8:將訂單子報告鏈結至客戶主要報告

您藉由將 CustID 參數連結至客戶報告中的 CUSTOMERNUMBER 資料集欄位,將訂單子報告鏈結至客戶主要報告。 每次客戶報告到達新的客戶列時,都會以 CUSTOMERNUMBER 值更新 CustID 參數。

在您將 CustID 參數連結至 CUSTOMERNUMBER 資料集欄位之前,您必須先建立直欄連結,再將它連結至資料集欄位。 參數不能直接存取資料集欄位。

  1. 選擇「版面」來返回版面編輯器。
  2. 建立一個連結至 CUSTOMERNUMBER 資料集欄位的直欄連結。
    1. 選取清單。
    2. 在「內容編輯器」中,選擇「連結」。
    3. 在「連結」頁面中,選擇「新增」。
    4. 在「表示式建置器」中,選擇「可用的資料集」,再選擇 Customers,按兩下 CUSTOMERNUMBER。這時「表示式建置器」會顯示 dataSetRow["CUSTOMERNUMBER"] 表示式,如圖 13-13 所示。
    5. 圖 13-13 「表示式建置器」顯示直欄連結表示式
    6. 選擇「確定」。這時新的直欄連結會出現在「內容編輯器」的連結頁面中,且會強調顯示直欄名稱。
    7. 利用下列名稱來取代 New Binding 這個名稱:
    8. CUSTOMER_NUMBER 
      
  3. 選取訂單表格。
  4. 在「內容編輯器」中,選擇「連結」。
  5. 在「連結」頁面中,選擇「資料集參數連結」。這時「資料集參數連結」會顯示 CustID 參數,如圖 13-14 所示。它的值設為您在建立資料集參數時所指定的預設值 103。
  6. 圖 13-14 訂單表格的「資料集參數連結」
  7. 在客戶報告中,將參數值改成 CUSTOMERNUMBER 欄位:
    1. 按一下「值」欄位,再選擇出現在右側的按鈕。
    2. 這時會出現「表示式建置器」。
    3. 在「表示式建置器」中,選擇「可用的直欄連結」,再選擇「清單」,按兩下 CUSTOMER_NUMBER。 這時「表示式建置器」會顯示 row["CUSTOMER_NUMBER"] 表示式,如圖 13-15 所示。
    4. 圖 13-15 「表示式建置器」中的 CUSTOMERNUMBER 欄位
    5. 選擇「確定」來儲存表示式。 這時「資料集參數連結」頁面會顯示 CustID 參數的 row["CUSTOMER_NUMBER"] 的新值。
  8. 選擇「確定」來儲存已變更的資料集參數連結。
  9. 預覽報告,它應該看起來如圖 13-16 所示。
  10. 圖 13-16 報告預覽會顯示正確的訂單資料
    現在,不同的客戶會出現不同的訂單記錄。 並不是所有客戶都有訂單記錄。 如果只要顯示有訂單的客戶,請變更客戶報告的查詢。 稍後的作業 11:「只顯示含訂單或付款客戶」會討論這項作業。

作業 9:建立付款子報告

付款子報告以列和直欄的格式來顯示每個客戶的付款狀況。 它會顯示付款日期、結帳號碼及每份訂單的金額。 如果要疊代處理付款資料集列,以及將它們顯示成列和直欄的格式,請使用表格元素。

  1. 選擇「版面」來返回版面編輯器。
  2. 從選用區中,將表格元素拖放在詳細資料區域中的訂單子報告之下。 這時「插入表格」會提示您指定直欄的數目及建立表格的詳細資料列。
  3. 指出您要建立 3 個直欄和 1 詳細資料列,再選擇「確定」。這時版面編輯器會出現一份表格,其中含有三個直欄和一個詳細資料列。
  4. 將表格連結到 Payments 資料集:
    1. 在「內容編輯器」中,選擇「連結」。
    2. 在「資料集」中,從下拉清單選取 Payments。
  5. 選擇「資料總管」中,展開「資料集」,再展開 Payments。您在查詢中指定的直欄會出現在 Payments 之下。
  6. 從「資料總管」中,將下列欄位分別拖放在表格詳細資料列的第一、第二和第三個資料格中。 請選擇「確定」來接受所有這些欄位的預設直欄連結。
    • PAYMENTDATE
    • CHECKNUMBER
    • AMOUNT
    這時報告頁面應該看起來如圖 13-17 所示。

    圖 13-17 報告設計包括付款子報告
    這份表格顯示您新增的資料集欄位。 另外,它也顯示版面編輯器自動加到標頭列中的標籤。 這些標籤將欄位名稱顯示成靜態文字,且用來作為直欄標題。
  7. 依付款日期來排序付款列。
    1. 選取付款表格。
    2. 在「內容編輯器」中,選擇「排序」。
    3. 在「排序」頁面中,選擇「新增」來建立排序表示式。這時在「排序依據」之下,會出現一列。
    4. 按一下「排序索引鍵」之下,選擇出現的方向鈕,再從下拉清單中選取 PAYMENTDATE。
    5. 利用預設值「遞增」來作為「排序方向」。
  8. 預覽報告。這時報告應該看起來如圖 13-18 所示。
  9. 圖 13-18 「報告預覽」顯示重複的付款記錄
    如同您最初建立時的訂單子報告,每個客戶都出現相同的訂單記錄,因為您在建立 Payments 資料集的 CustID 參數時,指定了 customerNumber 預設值 103。 由於這個預設值,付款子報告一律會顯示 103 客戶的付款記錄。
    如同訂單子報告的相同式,您必須動態更新主要報告中的每個客戶的 CustID 參數值。

作業 10:將付款子報告鏈結至客戶主要報告

您藉由將客戶的 CustID 參數連結至客戶報告中的 CUSTOMERNUMBER 欄位,將付款子報告鏈結至客戶主要報告。

  1. 選擇「版面」來返回版面編輯器。
  2. 選取付款表格。
  3. 在「內容編輯器」中,選擇「連結」標籤。
  4. 在「連結」頁面中,選擇「資料集參數連結」。這時「資料集參數連結」會顯示 CustID 參數。它的值設為您在建立資料集參數時所指定的預設值 103。
  5. 在客戶報告中,將參數值改成 CUSTOMERNUMBER 欄位:
    1. 按一下「值」欄位,再選擇出現在右側的按鈕。
    2. 在「表示式建置器」中,選擇「可用的直欄連結」,再選擇「清單」,按兩下 CUSTOMER_NUMBER。這時「表示式建置器」會顯示 row["CUSTOMER_NUMBER"] 表示式。
    3. 選擇「確定」來儲存表示式。這時「資料集參數連結」頁面會顯示 CustID 參數的 row["CUSTOMER_NUMBER"] 的新值。
  6. 選擇「確定」來儲存已變更的資料集參數連結。
  7. 預覽報告。現在,報告會顯不同客戶的不同付款記錄。並不是所有客戶都有付款記錄。如果只要顯示含付款或訂單的客戶,請變更客戶報告的查詢。

作業 11:只顯示含訂單或付款客戶

資料庫包括不含訂單或付款的客戶。 客戶報告的查詢會傳回所有客戶。 當您執行報告時,有些客戶列只顯示訂單和付款表格的直欄標題,如圖 13-19 所示。

圖 13-19 報告未顯示客戶的訂單或付款資料

您可以變更客戶報告的查詢來排除不含訂單或付款的客戶。

  1. 選擇「版面」來返回版面編輯器。
  2. 在「資料總管」中,展開「資料集」,用滑鼠右鍵按一下 Customers,再選擇「編輯」。
  3. 將下列各行 SQL 加到現有查詢的尾端:
  4. WHERE  
    EXISTS  
    (SELECT Orders.customerNumber 
    FROM Orders  
    WHERE Customers.customerNumber =  
    Orders.customerNumber) 
    OR 
    EXISTS  
    (SELECT Payments.customerNumber 
    FROM Payments  
    WHERE Customers.customerNumber =  
    Payments.customerNumber) 
    
    WHERE EXISTS 子句會檢查 Orders 和 Payments 表格來找出符合 Customers 表格 customerNumber 值的 customerNumber 值。 只會選取含相符的 customerNumber 值的各列。 完整的查詢應該看起來如圖 13-20 所示。

    圖 13-20 「編輯資料集」中的 WHERE EXISTS 子句
  5. 選擇「預覽結果」來確認查詢傳回各列,再選擇「確定」。
  6. 預覽報告。將報告向下捲動來檢查輸出。這時報告不會再顯示不含訂單或付款的客戶。

作業 12:並列顯示子報告

現在,子報告會顯示正確的資料,您可以將焦點放在並列版面子報告。 您無法將兩份表格並列,因為「BIRT 報告設計者」會建立區塊層次的元素,這表示每個元素都會起始一個新行。 如果要將表格並列,請將表格插入格線中。 格線可讓您輕易對齊元素。

  1. 選擇「版面」來返回版面編輯器。
  2. 從選用區中,將格線元素拖放在訂單表格上的詳細資料列中。 這時「插入格線」會提示您指定格線的直欄和列數。
  3. 在「直欄數」中輸入 2,在「列數」中輸入 1,再選擇「確定」。
  4. 這時版面編輯器會顯示含兩直欄和一列的格線。
  5. 將訂單表格移至第一個格線資料格。如果要執行這個動作,請選取左下角的「表格」標籤,再將表格拖放在格線資料格中。
  6. 將付款表格移至第二個格線資料格。這時報告版面應該看起來如圖 13-21 所示。
  7. 圖 13-21 子報告並列在報告設計中
  8. 預覽報告。這時報告應該看起來如圖 13-22 所示。
  9. 圖 13-22 顯示並列子報告的「報告預覽」

作業 13:格式化報告

現在,報告顯示正確的資料和版面,您可以將注意力轉移到改進報告的外觀。 在這個章節中,您將執行下列作業:

強調顯示客戶名稱

  1. 選擇「版面」來返回版面編輯器。
  2. 在版面編輯器中,選取 [CUSTOMERNAME] 資料元素。
  3. 選擇「內容編輯器」的「內容」標籤。
  4. 從「內容」下的清單中,選取「一般」。這時「內容編輯器」會顯示資料元素的一般格式化內容。
  5. 在「大小」中,選擇「大」,以顯示較大的元素文字。這時文字會變大。
  6. 選擇 B 來將資料設成粗體文字。這時資料會呈現粗體。

編輯直欄標題

當您將資料集欄位插入表格中,「BIRT 報告設計者」會自動在標頭列中,增加一個含有資料集欄位名稱的標籤。 資料集欄位名稱的格式通常並不適合報告使用,您必須變更它們。

  1. 按兩下訂單表格中的第一個直欄標題。這時會強調顯示這個文字。
  2. 用下列文字來取代 ORDERNUMBER,再按 Enter 鍵:
  3. Order Number 
    
  4. 重複上述步驟,將其餘直欄標題改成下列文字:
  5. 訂單日期 
    付款日期 
    結帳號碼 
    金額 
    
    這時報告版面應該看起來如圖 13-23 所示。

    圖 13-23 報告設計中的編輯直欄標題
  6. 預覽報告。這時報告應該看起來如圖 13-24 所示。
  7. 圖 13-24 報告預覽中的編輯直欄標題

變更日期格式

當您插入日期資料類型的資料元素時,「BIRT 報告設計者」會根據您的系統語言環境設定來顯示日期。 「BIRT 報告設計者」提供了許多不同的日期格式,如果您不想使用預設格式,您可以選取這些格式。 在這個程序中,您將建立一個樣式來將 ORDERDATE 和 PAYMENTDATE 值的格式從 Jun 3, 2005 12:00 AM 改成 6/3/05。

  1. 選擇「版面」來返回版面編輯器。
  2. 選取顯示 [ORDERDATE] 的資料元素。
  3. 從主功能表中,選擇「元素 -> 新建樣式」。「新建樣式」會顯示樣式所能設定的內容,如圖 13-25 所示。
  4. 圖 13-25 新建樣式
  5. 在「自訂樣式」中,輸入:
  6. Date_data 
    
  7. 從左側的樣式內容清單中,選擇「格式化日期時間」。
  8. 從下拉清單中,選取 m/d/yy 格式。下拉清單中的值會用現行日期來動態更新。
  9. 選擇「確定」。
  10. 這時會將 Date_data 樣式套用到 [ORDERDATE] 資料元素上,如圖 13-26 所示。

    圖 13-26 套用到資料元素的 Date_data 樣式
  11. 將 Date_data 樣式套用到付款日期資料元素。
    1. 選取顯示 [PAYMENTDATE] 的資料元素,如圖 13-27 所示。
    2. 圖 13-27 已選取 [PAYMENTDATE] 元素
    3. 用滑鼠右鍵按一下所選元素,再選擇「樣式 -> 套用樣式 -> Date_data」。
  12. 預覽報告。這時日期已從 Jun 3, 2005 12:00 AM 格式改成 6/3/05。

變更數字格式

當您插入整數資料類型的資料元素時,「BIRT 報告設計者」會根據您的系統語言環境設定來顯示數字。 「BIRT 報告設計者」提供了許多不同的數字格式,如果您不想使用預設格式,您可以選取這些格式。 在這個程序中,您將建立一個樣式來將數量值的格式從 48425.69 改成 $48,425.69。

  1. 選擇「版面」來返回版面編輯器。
  2. 選取在付款表格中顯示 [AMOUNT] 的資料元素。
  3. 從主功能表中,選擇「元素 -> 新建樣式」。這時「新建樣式」會顯示一般種類的內容。
  4. 在「自訂樣式」中,輸入:
  5. Currency_data 
    
  6. 從左側的樣式內容清單中,選擇「格式化數字」。
  7. 指定下列格式屬性,如圖 13-28 所示:
    • 在「格式化數字」中,從下拉清單選取「貨幣」。
    • 在「小數位數」中,使用預設值 2。
    • 選取「使用 1000 分隔符號」。
    • 在「符號」中,從下拉清單選取 $。
    • 其他屬性使用預設值。
    • 圖 13-28 「格式化數字」內容
  8. 選擇「確定」。這時會將 Currency_data 樣式套用到 [AMOUNT] 資料元素上,如元素在「內容編輯器」中之「樣式」內容所示。
  9. 預覽報告。這時數字會呈現貨幣格式,如圖 13-29 所示。
  10. 圖 13-29 報告預覽中的貨幣格式

增加元素垂的直間距

在這個程序中,您將增加每個客戶名稱與它的前後行的間距。 您可以採用若干方式來調整元素之間的垂直間距:

利用格線來格式化很容易,結果的可預測性也比較好。填補和和邊距內容值可以在不同的 Web 瀏覽器中產生不同的值。在這個程序中,您使用第三個方法。

  1. 選擇「版面」來返回版面編輯器。
  2. 完成下列步驟,將 [CUSTOMERNAME] 資料元素放在含有兩份表格的格線中:
    1. 選取格線。請將滑鼠指標停留在左下角上,直到出現「格線」標籤,再選取這個標籤。這時所選格線的頂端和左側會出現指引資料格。
    2. 版面編輯器會顯示個別資料元素、格線、表格和資料格的邊框,有時很不容易看到元素的放置位置。 如果您需要較清晰檢視儲存檔案及儲存檔案內元素,請利用「概要」視圖來取得報告設計的樹狀視圖。 另外,如果特定元素很不容易選取,您也可以利用「概要」視圖來選取它。 例如,選取格線而非選取格線內的表格,可能會很困難。 如果要開啟「概要」視圖,請選擇「視窗 -> 顯示視圖 -> 概要」。
    3. 用滑鼠右鍵按一下格線第一列左側的指引資料格,再選擇「插入 -> 列 -> 上方」,如圖 13-30 所示。
    4. 圖 13-30 插入新列
      這時新列會出現在所選列上。
    5. 將 [CUSTOMERNAME] 資料元素從現行位置移至新格線列的第一個資料格,如圖 13-31 所示。
    6. 圖 13-31 移至新列的資料元素
  3. 利用先前所說明的程序,在含有 [CUSTOMERNAME] 資料元素的列上下,增加新的格線列。
  4. 選取格線,再選取格線中的第一列,如圖 13-32 所示。
  5. 圖 13-32 選取第一列
  6. 在「內容編輯器」的「一般」內容中,將列高度設為 0.2 英吋,如圖 13-33 所示。
  7. 圖 13-33 設定列高度內容
  8. 選取格線的第三列,將它的高度設為 0.1 英吋。 這時報告設計應該看起來如圖 13-34 所示。
  9. 圖 13-34 在報告設計中的新列高度
  10. 預覽報告。客戶名稱上下的間距比較大。這時報告應該看起來如圖 13-35 所示。
  11. 圖 13-35 顯示增加間距的報告預覽

增加訂購和付款表格的水平間距

在這個程序中,您將增加訂單和付款表格的間距。如同垂直間距,您也可以採用若干方式來調整元素之間的水平間距:

同樣,利用格線來格式化很容易,結果的可預測性也比較好。填補和和邊距內容值可以在不同的 Web 瀏覽器中產生不同的值。在這個程序中,您使用第三個方法。

  1. 選擇「版面」來返回版面編輯器。
  2. 選取格線。請將滑鼠指標停留在左下角上,直到出現「格線」標籤,再選取這個標籤。這時所選格線的頂端和左側會出現指引資料格。
  3. 用滑鼠右鍵按第一個直欄上的指引資料格,再依照圖 13-36 所示來選取「插入 -> 右側直欄」。
  4. 圖 13-36 插入直欄
    這時會在第一和第三直欄之間,出現一個新直欄。依預設,「BIRT 報告設計者」會建立寬度相同的直欄。
  5. 選取您剛新增的直欄,再利用「內容編輯器」將它的寬度設成 0.4 英吋,如圖 13-37 所示。
  6. 圖 13-37 設定直欄寬度
    第二個直欄的寬度會減低。
  7. 預覽報告。
  8. 訂單和付款表格的間距比較大,如圖 13-38 所示。

    圖 13-38 報告預覽,顯示加大的表格間距

新增表格邊框

在這個程序中,您將新增一個方框來括住訂單和付款表格,以將它們清楚識別成兩份個別的子報告。

  1. 選擇「版面」來返回版面編輯器。
  2. 選取訂單表格。請將滑鼠指標停留在左下角上,直到出現「表格」標籤,再選取這個標籤。這時所選表格的頂端和左側會出現指引資料格。
  3. 在「內容編輯器」中選擇「邊框」,再設定邊框內容:
    • 將「樣式」設為實線。
    • 選擇所有按鈕來新增括住表格的邊框,如圖 13-39 所示。
    • 圖 13-39 新增表格邊框
  4. 重複先前各步驟來繪製括住付款表格的邊框。
  5. 預覽報告。這時報告應該看起來如圖 13-40 所示。
  6. 圖 13-40 在報告預覽中,括住表格的邊框

增加表格邊框和內容的間距

表格的頂端和左側邊框太貼近表格內容。 在這個程序中,您將增加頂端和左側邊框和內容的間距。

  1. 選擇「版面」來返回版面編輯器。
  2. 選取訂單表格群組標頭列中的第一個資料格。請務必選取資料格,如圖 13-41 所示,而不是資料格中的資料元素。
  3. 圖 13-41 選取資料格
    出現在「內容編輯器」中的標題會顯示所選元素的名稱。請確認它顯示了下列文字:
    內容編輯器 - 資料格 
    
  4. 在「內容編輯器」中,選擇「填補」內容,再將「上」和「左」設成 6 點。
  5. 圖 13-42 顯示這些內容設定。

    圖 13-42 在「內容編輯器」中的資料格間距內容
    在版面編輯器中,資料格的頂端和左側會出現額外間距,如圖 13-43 所示。

    圖 13-43 報告設計中的資料格間距
  6. 選取剛才格式化的資料格旁的資料格,將它的「上」和「左」填補內容設成 6 點。
  7. 在詳細資料列中選取兩個資料格,將「左」填補內容設成 6 點。
  8. 選取在付款表格相同位置中的資料格,套用訂單表格中的資料格所用的相同設定。
  9. 預覽報告。這時報告應該看起來如圖 13-44 所示。
  10. 圖 13-44 「報告預覽」顯示加大的表格間距


(c) Copyright Actuate Corporation 2006

前一主題下一主題