資料:AdventureWorks2008R2 的 Sales.SalesOrderHeader Table
需求:業務經理想要分析銷售區域代碼是 7、8、9 的這三個區域中各個業務員的銷售數據
條件:每個銷售區域、每個銷售員(包含無銷售員的網路訂單)的以下各項資料
- 訂單的筆數(根據有幾筆資料計算)
- 現金交易的筆數(根據 CreditCardID 欄位計算),CreditCardID 欄位內是NULL值的代表現金交易,提示:總交易筆數 = 現金交易的筆數 + 信用卡交易的筆數
- 信用卡交易的筆數(根據 CreditCardID 欄位計算)
- 客戶使用不同信用卡的張數(根據 CreditCardID 欄位判斷)
- 含稅的總銷售金額(由貨品小計( SubTotal 欄位)加稅額( TaxAmt 欄位)計算)
- 平均每筆銷售訂單的運費(根據 Freight 欄位計算)
- 輸出的結果要包含"區域代碼"( TerritoryID 欄位)、"業務員代號"( SalesPersonID 欄位)、"訂單筆數"、"現金交易筆數"、"信用卡交易筆數"、"信用卡數"、"總交易金額(含稅)"、"平均每筆運費"八個欄位
- 輸出時,先按區域代碼由小到大排列,區域代碼相同時,再按業務員代號從最小到最大排列
SELECT
TerritoryID AS [區域代碼],
SalesPersonID AS [業務員代號],
COUNT(*) AS [訂單筆數],
SUM(CASE WHEN CreditCardID IS NULL THEN 1 ELSE 0 END) AS [現金交易筆數] ,
SUM(CASE WHEN CreditCardID IS NOT NULL THEN 1 ELSE 0 END) AS [信用卡交易筆數] ,
COUNT(DISTINCT CreditCardID) AS [信用卡張數] ,
SUM(SubTotal + TaxAmt) AS [總交易金額(含稅)],
AVG(Freight) AS [平均每筆運費]
FROM Sales.SalesOrderHeader
WHERE TerritoryID IN (7,8,9)
GROUP BY TerritoryID , SalesPersonID
ORDER BY TerritoryID , SalesPersonID
沒有解答可以參考,也不知道對不對 ~~ ^_^''
沒有留言:
張貼留言