顯示具有 Crystal Reports 標籤的文章。 顯示所有文章
顯示具有 Crystal Reports 標籤的文章。 顯示所有文章

Crystal Reports - 如何在交叉表加入總和百分比

6 comments
本文以 Crystal Reports XI 說明如何使用百分比摘要函數為交叉表加入總和百分比。以下將會逐步說明,帶你完成簡單的銷售報表。

新增報表
請在 Crystal Reports 新增空白報表,並在資料來源設定中,使用 SQL Server 範例資料庫 pubs 作為報表資料來源,並加入以下查詢命令:
SELECT 
stor_name, 'Qtr' + CAST(DATEPART(quarter,ord_date) AS CHAR) AS [quarter],
sum(qty) AS qty
FROM
sales INNER JOIN
stores ON sales.stor_id = stores.stor_id
WHERE YEAR(ord_date) = 1993
GROUP BY stor_name, 'Qtr' + CAST(DATEPART(quarter,ord_date) AS CHAR)

加入群組
在功能表中選擇 [插入]->[群組],分別插入 [命令.stor_name]、[命令.quarter] 兩個資料欄位作為群組依據。

建立公式欄位
建立一個名為 percent_of_total 的公式欄位,並輸入以下公式:
PercentOfSum({命令.qty},{命令.quarter})

加入交叉表
  1. 在功能表中選擇 [插入]->[交叉表...],將交叉表置於 [報表首],並按滑鼠右鍵點選功能表中的 [交叉表專家...]。
  2. 在 [交叉表專家] 視窗中,將交叉表 [可使用的欄位] 中的 [命令.stor_name]、[命令.quarter] 兩個資料欄位,分別加入交叉表的資料列及資料欄,並在摘要欄位加入 [命令.qty] 資料欄位及 [percent_of_total] 公式欄位。
  3. 在摘要欄位中點選 [@percent_of_total 的總和],接著按下位於下方的 [變更摘要...] 按鈕。
  4. 在[編輯摘要]視窗中,在[計算這個摘要]的下拉選單中選擇 [總和],在 [選項] 區段中,啟用從 [資料行] 來 [顯示成百分比]。
  5. 點選 [自訂樣式] 頁籤,在 [摘要欄位] 選項中,點選 [水平],並取消位於 [格線選項] 中 [資料行總和在上方] 及 [資料列總和在左邊] 核取方塊。
  6. 按下 [確定] 按鈕,關閉 [交叉表專家] 視窗。


最後,再隱藏不必要顯示的區段,報表就大致完成了。

繼續閱讀...

Crystal Reports - 設計 Master / Detail 報表

9 comments
本文使用 Crystal Reports XI 以簡單的出貨報表為範例,建立顯示訂單主檔的主報表及訂單明細檔的子報表,然後使用訂單編號當作參數,來連結這兩個報表。

建立子報表(訂單明細)
1.加入 SQL 查詢命令至報表:
SELECT OrderDetails.OrderNumber,OrderDetails.ProductID,
Products.Name,OrderDetails.UnitPrice,OrderDetails.Quantity,OrderDetails.ExtendedPrice FROM OrderDetails
INNER JOIN Products ON OrderDetails.ProductID=Products.ID
WHERE OrderDetails.OrderNumber={?訂單編號}
在命令中我加入了查詢參數{?訂單編號},所以必須在命令視窗右邊的參數清單建立名為訂單編號的命令參數,查詢參數才會有效。


2.在報表明細區段插入資料庫欄位後,將報表儲存為[訂單明細檔.rpt]。

建立主報表(訂單主檔)
1.加入 SQL 查詢命令至報表:
SELECT Orders.OrderNumber,Orders.ShipName,Orders.ShipCity,Orders.ShipPostalCode,
Orders.ShipAddress,Orders.OrderDate,Orders.ShippedDate
FROM Orders
WHERE Orders.OrderNumber={?訂單編號}
在命令中同樣也加入查詢參數{?訂單編號},所以也要在參數清單建立名為訂單編號的命令參數。

2.將訂單主檔的資料欄位插入頁首區段。

3.接著在訂單主檔下方插入子報表:[訂單明細檔.rpt]。

4.在主報表中點選[訂單明細檔.rpt],在滑鼠右鍵功能選單中選擇[變更子報表連結]。

5.在[子報表連結]視窗中,在主報表的[可使用的欄位]清單中,將[?訂單編號]加入[要連結的欄位]。然後,在[要使用的子報表參數欄位],選擇我們在子報表建立的[?訂單編號]參數,如此一來便會達到主報表與子報表共用參數的目的。完成後,按下確定關閉視窗。


6.最後將報表儲存,報表就完成了。

繼續閱讀...