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

本文以 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. 按下 [確定] 按鈕,關閉 [交叉表專家] 視窗。


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



Share/Save/Bookmark

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

  1. 請問 若依你的範例中,若希望在交叉表格中的row在新增另一個名稱的資料該如何修改
    ex:
    Q1 Q2 Q3
    姓名 ---- ----- -----
    年百分比 ---- ----- -----
    =======================================

    我試過在列的部分在新增一個欄位到列的群組設定去
    但那個欄位會變成姓名後面的群組

  2. 為瞭解您的問題,可否再提供更多的資訊(如範例示意圖)呢?

  3. 應該說,我做出交叉報表後,我希望在可以在新增2-3筆的record,然後透過公式或其他方式去計算各季的加總 or 該季佔全年度的百分比,示意圖大約如下:
    --------------------------------------
    季別 | 1月 | 2月 | 3月 | .......
    --------------------------------------
    廠商 | A | B | A | B | A | B | .......
    --------------------------------------
    總合 | 1 | 2 | 3 | 1 | 4 | 9 | ......
    ======================================
    累加 | 1 | X | 4 | X | 8 | X | .....
    --------------------------------------
    百分比| X | X | X | X | X | X | ......
    =======================================

    到總和為止,我SQL串出來後,再用交叉報表就可呈現我要的,
    但我還需要在"總和下方"加入其他累加或著百分比的資料,
    一值卡在這邊,不知道該如何用交叉報表做出來,
    還請大大多指點指點,謝謝

  4. 你可以利用計算成員加入額外的行或列,建議你參考悅知文化出版的「Crystal Reports 2008 報表設計與開發」,其中的交叉表章節有助於你更進一步瞭解。

  5. Thanks

  6. 可以請問一下,如果是每個[訂購量]欄位除以表頭[市場總量]數值,該如何處理?因為市場總量不一定等於Q1~Q2總數量,謝謝

    EX.
    || Q1訂購量 ||Q2訂購量 ||
    =========================================
    大類,小纇,市場總量[10,000]||[1000][10%]||[2000][20%]

張貼留言