問題:
如何設計動態的Top N報表?
答案:
用Crystal Reports 9的「Add Command」新功能。
1. 撰寫一個Command其中用一個參數來控制要選出前幾個(N)群組。
Access版的SQL Command
SELECT TOP {?N} `Customer`.`Country`, SUM(`Customer`.`Last Year's Sales`) AS Sum_Last_Years_Sales
FROM `Customer` `Customer`
GROUP BY `Customer`.`Country`
ORDER BY SUM(`Customer`.`Last Year's Sales`) DESC
SQL Server版的SQL Command
SELECT TOP {?N} SUM("CUSTOMER"."Last Year's Sales")AS Sum_Last_Years_Sales,"CUSTOMER"."COUNTRY"
FROM "Xtreme"."dbo"."CUSTOMER" "CUSTOMER"
GROUP BY "CUSTOMER"."COUNTRY"
ORDER BY SUM("CUSTOMER"."Last Year's Sales") DESC
2. 同樣在「Add Command」裡加入一個Paramenter:名稱為N、型別為Number。
3. 把「Sum_Last_Years_Sales」及「COUNTRY」欄位放入「Details」區段。
重新整理報表。便可根據使用者輸入的數字,動態顯示前N大群組。
2009年11月26日 星期四
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言