教學指導 2:分組報告資料
這個教學指導提供依信用限制將客戶資料分組的指示。
它從您在教學指導 1:「建置簡式清單報告」中建置的報告開始。在第一個教學指導中,您建置了依字母順序列示客戶的簡式報告。
在這份報告中,您將客戶組織成 $50,000.00 的信用限制群組,如 0-49999、 50000-99999 、100000-149999 等。
這個教學指導開始之前,您必須先完成第一個教學指導。
在這個教學指導中,您將執行下列作業:
作業 1:開啟報告設計
在第一個教學指導中,您在名稱為 My Reports 的專案資料夾中,建立了 Customers.rptdesign。
請利用下列程序之一來開啟 Customers.rptdesign:
- 如果您使用「BIRT 報告設計者」,請利用「導覽器」來開啟檔案:
- 選擇「視窗 -> 顯示視圖 -> 導覽器」來開啟「導覽器」。「導覽器」會顯示您建立的所有專案資料夾和報告檔。
- 導覽至 My Reports 資料夾,再按兩下 Customers.rptdesign。
- 如果您使用「BIRT RCP 報告設計者」,請利用主功能表來開啟檔案:
- 選擇「檔案 -> 開啟舊檔」。
- 導覽和選取 Customers.rptdesign,再選擇「開啟」。
這時檔案會開在版面編輯器中,如圖 8-1 所示。
圖 8-1 版面編輯器中的客戶報告設計
作業 2:將報告另存新檔
請將 Customers.rptdesign 另存新檔,而不是直接編輯在第一個教學指導中建立的報告。
- 選擇「檔案 -> 另存新檔」。「另存新檔」會顯示檔案的現行名稱和位置。
- 在「檔名」中,將 Customers.rptdesign 改成 Customers_grouped.rptdesign,再選擇「完成」。「BIRT 報告設計者」會建立 Customers.rptdesign 的副本。這時新檔案會出現在版面編輯器中。
作業 3:將信用限制欄位加到資料集中
為了使報告顯示信用限制資料,您必須將 CREDITLIMIT 欄位加到資料集中。
- 選擇「資料總管」。
- 展開「資料集」,再按兩下 Customers。這時「編輯資料集」會顯示 Customers 資料集的 SQL 查詢。
- 在電話號碼後面,加上逗點 (,)。
- 在下一行中,新增下列文字:
圖 8-2 新增了 creditLimit 欄位的查詢
- 選擇「預覽結果」來確認查詢傳回含有信用限制資訊的各列。
- 選擇「確定」來儲存資料集。
作業 4:將信用限制資料加到報告中
在這個程序中,您將信用限制欄位插入現有的表格中。
- 在版面編輯器中,選取表格。
這時表格的頂端和左側會出現指引資料格。
- 用滑鼠右鍵按第一個直欄上的指引資料格,再依照圖 8-3 所示來選取「插入 -> 左側直欄」。
圖 8-3 將直欄插入現有直欄左側
這時會出現一個新直欄。
- 在「資料總管」中,展開「資料集」,再展開 Customers。
這時 Customers 資料集會顯示查詢中指定的欄位。
- 從「資料總管」中,將 CREDITLIMIT 欄位拖放在 [CUSTOMERNAME] 旁的詳細資料列資料格中。
「BIRT 報告設計者」會建立一個連結到資料集欄位的具名直欄。這時「選取資料連結」會顯示這個直欄連結。
- 選擇「確定」來接受預設直欄連結。
在版面編輯器中,表格會顯示您新增的欄位。另外,它也會顯示版面編輯器自動加到標頭列中的標籤元素。
這個標籤用來作為直欄標題,且會將欄位名稱顯示成靜態文字。
這時報告應該看起來如
圖 8-4 所示。
圖 8-4 在版面編輯器中新增信用限制欄位的結果
- 編輯 CREDITLIMIT 標籤,使它顯示為信用限制。
圖 8-5 報告預覽,顯示新增信用限制的結果
有些客戶的信用限制是 0。這些是新客戶,還沒有獲得信用核准。
作業 5:依信用限制將客戶資料分組
報告目前是依客戶名稱的字母順序來排序。
請回想一下,在第一個教學指導中,您指定依客戶名稱來排序表格中的各列。
在這個程序中,您依間隔為 50,000 的信用限制將資料分組。
當您將資料分組時,BIRT 先將各列排序到群組中,再排序每個群組內的列,假設您也指定了表格層次的排序條件。
如您所將見,當您完成這項作業時,每個信用限制群組內的資料列都會依客戶名稱來排序。
- 選擇「版面」來返回版面編輯器。
- 用滑鼠右鍵按一下表格,再選擇「插入群組 -> 上方」。
這時「新建群組」(如圖 8-6 所示)會顯示您可以設定的群組內容。
圖 8-6 新建群組
- 遵循下列步驟來指定依間隔為 50000 的信用限制來進行分組:
- 在「名稱」中,輸入下列文字作為群組名稱:
- 在「分組依據」中,從下拉清單選取 CREDITLIMIT。
- 在「間隔」中,從下拉清單選取「間隔」。
- 在「範圍」中,輸入 50000。
- 其他選項使用預設值。
- 選擇「確定」。
報告設計中的表格會顯示一個群組標頭及一個群組標底列,如
圖 8-7 所示。
另外,它也會顯示版面編輯器自動加到群組標頭列中的資料元素。
這項資料元素用來作為群組標題,在產生的報告中,它會顯示每個群組的第一個信用限制值。
圖 8-7 報告設計中的群組標頭和群組標底
- 選取會出現在群組標頭列中的 [CREDITLIMIT] 資料元素。請勿選取出現在詳細資料列中的 [CREDITLIMIT] 資料元素。
- 在「內容編輯器」中,選擇「一般」,再選擇 B,將群組標題格式化成為粗體文字。
- 預覽報告。將報告向下捲動來檢視所有資料。如圖 8-8 所示,報告將資料組織成四個信用限制群組。
在每個群組的開頭,您會見到粗體顯示的下列數字:0、61100、113000、227600。
這些數字符合每個群組的第一個信用限制值。
在每個群組內,客戶都是按字母順序來排序。
圖 8-8 報告預覽,顯示四個信用限制群組之一
作業 6:在群組標頭中顯示信用限制範圍
如果依下列方式來顯示每個群組的信用限制範圍,而不是在群組標頭中顯示每個群組的第一個值,就很容易導覽報告:
這個程序顯示如何撰寫 JavaScript 表示式來顯示這些信用限制範圍。
另外,這個程序也顯示如何建立關聯於 JavaScript 表示式的直欄連結。
- 選擇「版面」以返回版面編輯器。
- 選取表格,在「內容編輯器」中選擇「連結」。
- 建立新的直欄連結:
- 選擇「新增」。
- 在「表示式建置器」中,輸入下列表示式:
- 選擇「確定」。這時新的直欄連結會出現在「內容編輯器」的連結頁面中,且會強調顯示直欄名稱。
- 利用下列名稱來取代 New Binding 這個名稱:
- 按兩下群組標頭中的 CREDITLIMIT 資料元素,選取 CREDIT_GROUP_HEADER,再選擇「確定」,以更新這個資料元素來使用新的直欄連結。
- 預覽報告。這時群組標頭會顯示信用限制範圍。圖 8-9 顯示 50000 - 99999 群組標頭。
圖 8-9 報告預覽,顯示信用限制範圍
作業 7:顯示聚集資訊
將資料分組的好處之一,是您可以在每個群組的開頭和結尾加入摘要或聚集資訊。
在這個程序中,您將完成下列作業:
- 顯示每個群組的客戶數。
- 顯示報告所列出的所有客戶的數目。
- 選擇「版面」來返回版面編輯器。
- 顯示每個群組的客戶數:
- 從選用區中,將資料元素拖放在群組標底列的第一個資料格。
群組標底中的元素會出現在每個群組的結尾。
- 在「選取資料連結」中,建立一個新的直欄連結:
- 在新列的「名稱」中,輸入下列文字:
- 使用預設資料類型,Any。
- 在「表示式」中,輸入下列聚集表示式:
Total.count( ) 會傳回列數。
- 使用預設「聚集項目」值,credit_group。這個值指出 Total.count( ) 函數會傳回每個信用限制群組中的列數。
- 選取您剛建立的直欄連結,再選擇「確定」。資料元素會使用所選的直欄連結。
- 預覽報告。這時報告會在每個群組的結尾顯示客戶數,如圖 8-10 所示。
圖 8-10 報告預覽,顯示每個群組的計數
- 選擇「版面」來返回版面編輯器。
- 顯示所有客戶的數目:
- 選取表格。
這時表格的頂端和左側會出現指引資料格。
- 用滑鼠右鍵按第一列左側的指引資料格,「表格 - 標頭」,再選擇「插入 -> 列 -> 上方」。
這時會在顯示直欄標題的列上方,出現新的表格標頭列。
它會著色,因為它繼承了它後面的列的內容。
- 選取新列,在「內容編輯器」中,將它的背景顏色改成白色。
- 從選用區中,將資料元素拖放在新表格標頭列的第一個資料格。在表格標頭中的元素會出現在區段的開頭。
- 在「選取資料連結」中,建立一個新的直欄連結:
- 在新列的「名稱」中,輸入下列文字:
- 使用預設資料類型,Any。
- 在「表示式」中,輸入下列聚集表示式:
- 使用預設「聚集項目」值,ALL。這個值指出 Total.count( ) 函數會傳回整份表格中的列數。
- 選取您剛建立的直欄連結,再選擇「確定」。資料元素會使用所選的直欄連結。
圖 8-11 報告設計,顯示客戶的總計數
- 預覽報告。這時報告會在表格的開頭顯示客戶數,如圖 8-12 所示。
圖 8-12 報告預覽,顯示客戶總數
作業 8:格式化報告
現在,報告會顯示正確的資料,您可以將焦點集中在改進報告的外觀。
在這個章節中,您將執行下列作業:
從詳細資料列中移除信用限制資料
如果要確認資料在正確的信用限制群組中,顯示每個客戶的信用限制很有用。
現在,我們已驗證過資料,可以從報告中刪除個別信用限制資訊。
- 選擇「版面」來返回版面編輯器。
- 從詳細資料列中,刪除 [CREDITLIMIT] 資料元素。
圖 8-13 報告預覽,不含每一列的信用限制資料
在每個群組第一列顯示群組標頭
信用限制群組標題會出現在它們自己的列中,在每個群組的詳細資料列之上。
在這個程序中,您將放置群組標題,使它們出現在第一個詳細資料列中。
- 選擇「版面」來返回版面編輯器。
- 選取包含群組標題的資料格,如圖 8-14 所示。請務必選取資料格,而不是資料格中的資料元素。
圖 8-14 已選取群組標題資料格
- 在「內容編輯器」的「一般」內容中,將「放下」設為「詳細資料」。
在報告設計中,群組標題仍會出現在詳細資料列之上,因為在技術上,元素仍是在群組標頭列中。
- 在「內容編輯器」的「填補」內容中,將「填補 -- 上」設為 12 點。
這個設定會使群組標題更準確對齊詳細資料列的資料。請記住,在第一個教學指導中,我們在詳細資料列資料格的上方加入了 12 點的填補。
- 預覽報告。這時群組標題會出現在每個群組的第一列中,如圖 8-15 所示。
圖 8-15 報告預覽,顯示已放下的群組標題
用線條分隔每個群組
繪製一條線將每個群組分隔,使群組資料更容易查看。
- 選擇「版面」以返回版面編輯器。
- 選取群組標底列中的所有資料格。如果要選取多個資料格,請按住 Shift 來點選。
- 在「內容編輯器」中選擇「邊框」,再設定邊框內容:
- 將「樣式」設為實線。
- 選擇顯示按鈕底端邊框的按鈕。
- 增加行和上面的文字的間距。在仍選取資料格的情況下,在「內容編輯器」中選擇「填補」內容,將「下」設為 6.0 點。
- 預覽報告。這時每個群組的結尾都會出現一條線,如圖 8-16 所示。
圖 8-16 報告預覽,顯示群組之間的線條
作業 9:在 BIRT 檢視器中預覽報告
到目前為止,您已在「BIRT 報告設計者」預覽器中,檢查了報告輸出。這次您將利用報告檢視器來查看報告報署後的外觀。
另外,報告檢視器還提供了其他功能,其中包括利用目錄來導覽至特定報告區段的功能。
當您在報告中建立群組時,BIRT 會利用群組值來顯示報告階層,以自動產生目錄。
- 在 Web 檢視器中,選擇「檔案 -> 檢視報告」。
這時報告會出現在報告檢視器中。
- 選擇目錄按鈕(視窗頂端左側按鈕)來顯示目錄。
這時目錄會顯示四個信用限制群組中每個群組的第一個值。
當您選取值時,報告會顯示報告的對應區段。
例如,如果您選取 61100,報告會顯示 50000 - 99999 信用限制範圍的客戶列,如
圖 8-17 所示。
圖 8-17 選取目錄中的值來檢視對應資料
作業 10:在目錄中顯示信用限制範圍
如果目錄顯示報告的相同信用限制範圍值,而不是顯示每個信用限制群組的第一個值,會比較有意義。
您利用先前用來在群組標頭中顯示信用限制範圍(0 - 49999、50000 - 99999 等)的相同 JavaScript 表示式來完成這項作業。
- 返回「BIRT 報告設計者」。
- 在版面編輯器中,選取表格,之後,在「內容編輯器」中選擇「群組」標籤。
- 在群組清單中,按兩下 credit_group。
這時「編輯群組」會顯示群組的內容。
依預設,「TOC 項目表示式」會設為分組欄位 row["CREDITLIMIT"]。
- 選擇省略符號 (...) 按鈕,在「表示式建置器」中,用下列表示式來取代 row["CREDITLIMIT"] 表示式。
這是資料元素在群組標頭中所使用的相同直欄連結表示式。
您可以從資料元素複製它,將它貼在這裡,而不需要重新輸入。
- 選擇「確定」。
- 在報告檢視器中,預覽報告來驗證目錄的變更。
圖 8-18 更新的目錄
