如圖所示,現在有一個需求,主要是按當前年份查詢倉庫每一個月的庫存流水和配件的庫存佔比情況
其要求如下:
控件 |
類型 |
長度 |
備註 |
查詢條件 |
|
|
|
服務站 |
|
|
服務站的查詢條件 數據來源:可用的服務站檔案 必選,可以多選 |
配件名稱 |
|
|
配件名稱的查詢條件 數據來源:可用的產品物料數據 必選,可以多選 |
年度 |
Picklist |
|
前五年後十年的範圍,單選 |
顯示信息 |
|
|
查詢結果 |
標題 |
Expression |
|
表達式,顯示“【參數年度所選值】年度客戶回款報表“ |
服務站 |
|
|
顯示服務站名稱,此列爲行分組。 數據來源:出庫單實體 |
發貨倉庫 |
|
|
數據來源:出庫單實體 |
配件名稱 |
|
|
顯示配件名稱值,此列爲行分組。 字體顯示藍色,下劃線效果 數據來源:出庫單明細實體 |
數量 |
|
|
數據來源:出庫單明細實體 |
月份 |
|
|
數據來源:出庫單實體創建時間 |
顯示結果 |
|
|
排序:一級行分組按服務站名稱排序,二級按配件名稱正序排序 顯示列:服務站,發貨倉庫,配件名稱,數量,每月總數。 顯示規則:所有數字顯示精確到兩位小數。
|
總計 |
|
|
針對本報表的彙總統計:配件一年內申請數量總和。 |
SQL語句如下:
DECLARE @userid uniqueidentifier = '9FC299F4-6E20-EA11-A12B-000C29D7F690'SET context_info = @userid
SELECT DISTINCT so.new_station_idname, so.new_recstocksite_idname, sod.new_product_idname
, convert(int, SUM(sod.new_applyqty)) AS qty
, convert(int, SUM(CASE
WHEN datepart(month, so.createdon) = 1 THEN sod.new_applyqty
ELSE 0
END)) AS '1month'
, convert(int, SUM(CASE
WHEN datepart(month, so.createdon) = 2 THEN sod.new_applyqty
ELSE 0
END)) AS '2month'
, convert(int, SUM(CASE
WHEN datepart(month, so.createdon) = 3 THEN sod.new_applyqty
ELSE 0
END)) AS '3month'
, convert(int, SUM(CASE
WHEN datepart(month, so.createdon) = 4 THEN sod.new_applyqty
ELSE 0
END)) AS '4month'
, convert(int, SUM(CASE
WHEN datepart(month, so.createdon) = 5 THEN sod.new_applyqty
ELSE 0
END)) AS '5month'
, convert(int, SUM(CASE
WHEN datepart(month, so.createdon) = 6 THEN sod.new_applyqty
ELSE 0
END)) AS '6month'
, convert(int, SUM(CASE
WHEN datepart(month, so.createdon) = 7 THEN sod.new_applyqty
ELSE 0
END)) AS '7month'
, convert(int, SUM(CASE
WHEN datepart(month, so.createdon) = 8 THEN sod.new_applyqty
ELSE 0
END)) AS '8month'
, convert(int, SUM(CASE
WHEN datepart(month, so.createdon) = 9 THEN sod.new_applyqty
ELSE 0
END)) AS '9month'
, convert(int, SUM(CASE
WHEN datepart(month, so.createdon) = 10 THEN sod.new_applyqty
ELSE 0
END)) AS '10month'
, convert(int, SUM(CASE
WHEN datepart(month, so.createdon) = 11 THEN sod.new_applyqty
ELSE 0
END)) AS '11month'
, convert(int, SUM(CASE
WHEN datepart(month, so.createdon) = 12 THEN sod.new_applyqty
ELSE 0
END)) AS '12month'
FROM Filterednew_zh_stockoutorder so, Filterednew_zh_stockoutorderdetail sod, Filterednew_srv_siteinv s
WHERE so.new_station_idname IN (@station)
AND sod.new_product_idname IN (@productname)
AND datepart(year, so.createdon) = @year
AND so.new_recstocksite_id = s.new_stocksite_id
AND sod.new_product_id = s.new_product_id
AND so.new_zh_stockoutorderid = sod.new_stockoutorder_id
GROUP BY so.new_station_idname, so.new_recstocksite_idname, sod.new_product_idname
查詢結果如下: