前一主題下一主題


教學指導 2:分組報告資料

這個教學指導提供依信用限制將客戶資料分組的指示。 它從您在教學指導 1:「建置簡式清單報告」中建置的報告開始。在第一個教學指導中,您建置了依字母順序列示客戶的簡式報告。 在這份報告中,您將客戶組織成 $50,000.00 的信用限制群組,如 0-49999、 50000-99999 、100000-149999 等。

這個教學指導開始之前,您必須先完成第一個教學指導。

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

作業 1:開啟報告設計

在第一個教學指導中,您在名稱為 My Reports 的專案資料夾中,建立了 Customers.rptdesign。 請利用下列程序之一來開啟 Customers.rptdesign:

這時檔案會開在版面編輯器中,如圖 8-1 所示。

圖 8-1 版面編輯器中的客戶報告設計

作業 2:將報告另存新檔

請將 Customers.rptdesign 另存新檔,而不是直接編輯在第一個教學指導中建立的報告。

  1. 選擇「檔案 -> 另存新檔」。「另存新檔」會顯示檔案的現行名稱和位置。
  2. 在「檔名」中,將 Customers.rptdesign 改成 Customers_grouped.rptdesign,再選擇「完成」。「BIRT 報告設計者」會建立 Customers.rptdesign 的副本。這時新檔案會出現在版面編輯器中。

作業 3:將信用限制欄位加到資料集中

為了使報告顯示信用限制資料,您必須將 CREDITLIMIT 欄位加到資料集中。

  1. 選擇「資料總管」。
  2. 展開「資料集」,再按兩下 Customers。這時「編輯資料集」會顯示 Customers 資料集的 SQL 查詢。
  3. 在電話號碼後面,加上逗點 (,)。
  4. 在下一行中,新增下列文字:
  5. creditLimit 
    
    這時修改的查詢應該看起來如圖 8-2 所示。

    圖 8-2 新增了 creditLimit 欄位的查詢
  6. 選擇「預覽結果」來確認查詢傳回含有信用限制資訊的各列。
  7. 選擇「確定」來儲存資料集。

作業 4:將信用限制資料加到報告中

在這個程序中,您將信用限制欄位插入現有的表格中。

  1. 在版面編輯器中,選取表格。 這時表格的頂端和左側會出現指引資料格。
  2. 用滑鼠右鍵按第一個直欄上的指引資料格,再依照圖 8-3 所示來選取「插入 -> 左側直欄」。
  3. 圖 8-3 將直欄插入現有直欄左側
    這時會出現一個新直欄。
  4. 在「資料總管」中,展開「資料集」,再展開 Customers。 這時 Customers 資料集會顯示查詢中指定的欄位。
  5. 從「資料總管」中,將 CREDITLIMIT 欄位拖放在 [CUSTOMERNAME] 旁的詳細資料列資料格中。
  6. 「BIRT 報告設計者」會建立一個連結到資料集欄位的具名直欄。這時「選取資料連結」會顯示這個直欄連結。
  7. 選擇「確定」來接受預設直欄連結。
  8. 在版面編輯器中,表格會顯示您新增的欄位。另外,它也會顯示版面編輯器自動加到標頭列中的標籤元素。 這個標籤用來作為直欄標題,且會將欄位名稱顯示成靜態文字。 這時報告應該看起來如圖 8-4 所示。

    圖 8-4 在版面編輯器中新增信用限制欄位的結果
  9. 編輯 CREDITLIMIT 標籤,使它顯示為信用限制
  10. 預覽報告。這時報告應該看起來如圖 8-5 所示。
  11. 圖 8-5 報告預覽,顯示新增信用限制的結果
    有些客戶的信用限制是 0。這些是新客戶,還沒有獲得信用核准。

作業 5:依信用限制將客戶資料分組

報告目前是依客戶名稱的字母順序來排序。 請回想一下,在第一個教學指導中,您指定依客戶名稱來排序表格中的各列。 在這個程序中,您依間隔為 50,000 的信用限制將資料分組。 當您將資料分組時,BIRT 先將各列排序到群組中,再排序每個群組內的列,假設您也指定了表格層次的排序條件。 如您所將見,當您完成這項作業時,每個信用限制群組內的資料列都會依客戶名稱來排序。

  1. 選擇「版面」來返回版面編輯器。
  2. 用滑鼠右鍵按一下表格,再選擇「插入群組 -> 上方」。 這時「新建群組」(如圖 8-6 所示)會顯示您可以設定的群組內容。
  3. 圖 8-6 新建群組
  4. 遵循下列步驟來指定依間隔為 50000 的信用限制來進行分組:
    1. 在「名稱」中,輸入下列文字作為群組名稱:
    2. credit_group 
      
    3. 在「分組依據」中,從下拉清單選取 CREDITLIMIT。
    4. 在「間隔」中,從下拉清單選取「間隔」。
    5. 在「範圍」中,輸入 50000。
    6. 其他選項使用預設值。
    7. 選擇「確定」。
    報告設計中的表格會顯示一個群組標頭及一個群組標底列,如圖 8-7 所示。 另外,它也會顯示版面編輯器自動加到群組標頭列中的資料元素。 這項資料元素用來作為群組標題,在產生的報告中,它會顯示每個群組的第一個信用限制值。

    圖 8-7 報告設計中的群組標頭和群組標底
  5. 選取會出現在群組標頭列中的 [CREDITLIMIT] 資料元素。請勿選取出現在詳細資料列中的 [CREDITLIMIT] 資料元素。
  6. 在「內容編輯器」中,選擇「一般」,再選擇 B,將群組標題格式化成為粗體文字。
  7. 預覽報告。將報告向下捲動來檢視所有資料。如圖 8-8 所示,報告將資料組織成四個信用限制群組。 在每個群組的開頭,您會見到粗體顯示的下列數字:0、61100、113000、227600。 這些數字符合每個群組的第一個信用限制值。 在每個群組內,客戶都是按字母順序來排序。
  8. 圖 8-8 報告預覽,顯示四個信用限制群組之一

作業 6:在群組標頭中顯示信用限制範圍

如果依下列方式來顯示每個群組的信用限制範圍,而不是在群組標頭中顯示每個群組的第一個值,就很容易導覽報告:

0 - 49999 
50000 - 99999 
100000 - 149999 

這個程序顯示如何撰寫 JavaScript 表示式來顯示這些信用限制範圍。 另外,這個程序也顯示如何建立關聯於 JavaScript 表示式的直欄連結。

  1. 選擇「版面」以返回版面編輯器。
  2. 選取表格,在「內容編輯器」中選擇「連結」。
  3. 建立新的直欄連結:
    1. 選擇「新增」。
    2. 在「表示式建置器」中,輸入下列表示式:
    3. for(i=50000; i<300000; i+=50000){ 
      if( row["CREDITLIMIT"] < i ){ 
        rangeStart = i-50000; 
        rangeEnd = i-1; 
        break; 
      } 
      } 
      displayString=rangeStart + " - " + rangeEnd; 
      
    4. 選擇「確定」。這時新的直欄連結會出現在「內容編輯器」的連結頁面中,且會強調顯示直欄名稱。
    5. 利用下列名稱來取代 New Binding 這個名稱:
    6. CREDIT_GROUP_HEADER 
      
  4. 按兩下群組標頭中的 CREDITLIMIT 資料元素,選取 CREDIT_GROUP_HEADER,再選擇「確定」,以更新這個資料元素來使用新的直欄連結。
  5. 預覽報告。這時群組標頭會顯示信用限制範圍。圖 8-9 顯示 50000 - 99999 群組標頭。
  6. 圖 8-9 報告預覽,顯示信用限制範圍

作業 7:顯示聚集資訊

將資料分組的好處之一,是您可以在每個群組的開頭和結尾加入摘要或聚集資訊。 在這個程序中,您將完成下列作業:

  1. 選擇「版面」來返回版面編輯器。
  2. 顯示每個群組的客戶數:
    1. 從選用區中,將資料元素拖放在群組標底列的第一個資料格。 群組標底中的元素會出現在每個群組的結尾。
    2. 在「選取資料連結」中,建立一個新的直欄連結:
      1. 在新列的「名稱」中,輸入下列文字:
      2. GROUP_CUSTOMER_COUNT 
        
      3. 使用預設資料類型,Any。
      4. 在「表示式」中,輸入下列聚集表示式:
      5. "Customers: " + Total.count() 
        
        Total.count( ) 會傳回列數。
      6. 使用預設「聚集項目」值,credit_group。這個值指出 Total.count( ) 函數會傳回每個信用限制群組中的列數。
      7. 選取您剛建立的直欄連結,再選擇「確定」。資料元素會使用所選的直欄連結。
    3. 預覽報告。這時報告會在每個群組的結尾顯示客戶數,如圖 8-10 所示。
    4. 圖 8-10 報告預覽,顯示每個群組的計數
  3. 選擇「版面」來返回版面編輯器。
  4. 顯示所有客戶的數目:
    1. 選取表格。
    2. 這時表格的頂端和左側會出現指引資料格。
    3. 用滑鼠右鍵按第一列左側的指引資料格,「表格 - 標頭」,再選擇「插入 -> 列 -> 上方」。
    4. 這時會在顯示直欄標題的列上方,出現新的表格標頭列。 它會著色,因為它繼承了它後面的列的內容。
    5. 選取新列,在「內容編輯器」中,將它的背景顏色改成白色。
    6. 從選用區中,將資料元素拖放在新表格標頭列的第一個資料格。在表格標頭中的元素會出現在區段的開頭。
    7. 在「選取資料連結」中,建立一個新的直欄連結:
      1. 在新列的「名稱」中,輸入下列文字:
      2. TOTAL_CUSTOMER_COUNT 
        
      3. 使用預設資料類型,Any。
      4. 在「表示式」中,輸入下列聚集表示式:
      5. "Number of customers: " + Total.count() 
        
      6. 使用預設「聚集項目」值,ALL。這個值指出 Total.count( ) 函數會傳回整份表格中的列數。
      7. 選取您剛建立的直欄連結,再選擇「確定」。資料元素會使用所選的直欄連結。
    這時報告設計應該看起來如圖 8-11 所示。

    圖 8-11 報告設計,顯示客戶的總計數
  5. 預覽報告。這時報告會在表格的開頭顯示客戶數,如圖 8-12 所示。
  6. 圖 8-12 報告預覽,顯示客戶總數

作業 8:格式化報告

現在,報告會顯示正確的資料,您可以將焦點集中在改進報告的外觀。 在這個章節中,您將執行下列作業:

從詳細資料列中移除信用限制資料

如果要確認資料在正確的信用限制群組中,顯示每個客戶的信用限制很有用。 現在,我們已驗證過資料,可以從報告中刪除個別信用限制資訊。

  1. 選擇「版面」來返回版面編輯器。
  2. 從詳細資料列中,刪除 [CREDITLIMIT] 資料元素。
  3. 預覽報告。它應該看起來如圖 8-13 所示。
  4. 圖 8-13 報告預覽,不含每一列的信用限制資料

在每個群組第一列顯示群組標頭

信用限制群組標題會出現在它們自己的列中,在每個群組的詳細資料列之上。 在這個程序中,您將放置群組標題,使它們出現在第一個詳細資料列中。

  1. 選擇「版面」來返回版面編輯器。
  2. 選取包含群組標題的資料格,如圖 8-14 所示。請務必選取資料格,而不是資料格中的資料元素。
  3. 圖 8-14 已選取群組標題資料格
  4. 在「內容編輯器」的「一般」內容中,將「放下」設為「詳細資料」。 在報告設計中,群組標題仍會出現在詳細資料列之上,因為在技術上,元素仍是在群組標頭列中。
  5. 在「內容編輯器」的「填補」內容中,將「填補 -- 上」設為 12 點。 這個設定會使群組標題更準確對齊詳細資料列的資料。請記住,在第一個教學指導中,我們在詳細資料列資料格的上方加入了 12 點的填補。
  6. 預覽報告。這時群組標題會出現在每個群組的第一列中,如圖 8-15 所示。
  7. 圖 8-15 報告預覽,顯示已放下的群組標題

用線條分隔每個群組

繪製一條線將每個群組分隔,使群組資料更容易查看。

  1. 選擇「版面」以返回版面編輯器。
  2. 選取群組標底列中的所有資料格。如果要選取多個資料格,請按住 Shift 來點選。
  3. 在「內容編輯器」中選擇「邊框」,再設定邊框內容:
    • 將「樣式」設為實線。
    • 選擇顯示按鈕底端邊框的按鈕。
  4. 增加行和上面的文字的間距。在仍選取資料格的情況下,在「內容編輯器」中選擇「填補」內容,將「下」設為 6.0 點。
  5. 預覽報告。這時每個群組的結尾都會出現一條線,如圖 8-16 所示。
  6. 圖 8-16 報告預覽,顯示群組之間的線條

作業 9:在 BIRT 檢視器中預覽報告

到目前為止,您已在「BIRT 報告設計者」預覽器中,檢查了報告輸出。這次您將利用報告檢視器來查看報告報署後的外觀。 另外,報告檢視器還提供了其他功能,其中包括利用目錄來導覽至特定報告區段的功能。 當您在報告中建立群組時,BIRT 會利用群組值來顯示報告階層,以自動產生目錄。

  1. 在 Web 檢視器中,選擇「檔案 -> 檢視報告」。
  2. 這時報告會出現在報告檢視器中。

  3. 選擇目錄按鈕(視窗頂端左側按鈕)來顯示目錄。
  4. 這時目錄會顯示四個信用限制群組中每個群組的第一個值。 當您選取值時,報告會顯示報告的對應區段。 例如,如果您選取 61100,報告會顯示 50000 - 99999 信用限制範圍的客戶列,如圖 8-17 所示。

    圖 8-17 選取目錄中的值來檢視對應資料

作業 10:在目錄中顯示信用限制範圍

如果目錄顯示報告的相同信用限制範圍值,而不是顯示每個信用限制群組的第一個值,會比較有意義。 您利用先前用來在群組標頭中顯示信用限制範圍(0 - 49999、50000 - 99999 等)的相同 JavaScript 表示式來完成這項作業。

  1. 返回「BIRT 報告設計者」。
  2. 在版面編輯器中,選取表格,之後,在「內容編輯器」中選擇「群組」標籤。
  3. 在群組清單中,按兩下 credit_group。
  4. 這時「編輯群組」會顯示群組的內容。 依預設,「TOC 項目表示式」會設為分組欄位 row["CREDITLIMIT"]。
  5. 選擇省略符號 (...) 按鈕,在「表示式建置器」中,用下列表示式來取代 row["CREDITLIMIT"] 表示式。 這是資料元素在群組標頭中所使用的相同直欄連結表示式。 您可以從資料元素複製它,將它貼在這裡,而不需要重新輸入。
  6. for(i=50000; i<300000; i+=50000){ 
    if( row["CREDITLIMIT"] < i ){ 
      rangeStart = i-50000; 
      rangeEnd = i-1; 
      break; 
    } 
    } 
    displayString=rangeStart + " - " + rangeEnd; 
    
  7. 選擇「確定」。
  8. 在報告檢視器中,預覽報告來驗證目錄的變更。
  9. 這時目錄會顯示信用限制範圍,如圖 8-18 所示。

    圖 8-18 更新的目錄


(c) Copyright Actuate Corporation 2006

前一主題下一主題