我試圖讓使用分組集在SQLHirearchial通過分組集動態分組
用戶將通過列的hirearichial報告被歸類爲逗號分隔的參數存儲過程
的如:如果用戶需要按國再由區域然後通過DEPTNO 他會送的參數如:
@grouplist='Country,Region,DeptNo'
進行分組會dynamic.It列將被髮送作爲參數傳遞給存儲procedure.i不能使用s SRS reports.This是我用來生成報告
--select Country,region,Deptno , Count(EmpNo) EmpCount,
--Sum(Sal) Total, GROUPING_ID(Country, region,Deptno) AS GrpLevel
--from emp
--group by GROUPING SETS((Country,region,Deptno),(Country,Region),(Country) ,()) having country is not null
DECLARE @sql NVARCHAR(MAX) = N'select '[email protected] +' , Count(EmpNo) EmpCount,
Sum(Sal) Total, GROUPING_ID(' + @grouplist + ') AS GrpLevel
from emp
group by GROUPING SETS(' [email protected] +' ,()) having country is not null
order by ' + @grouplist
-- Select @sql
EXEC sp_executesql @sql;
我得到的輸出如下
實際輸出查詢所需
是有任何選項可以顯示按單列中的列作爲輸出。這裏問題是按列分組ming作爲存儲過程的參數。 任何幫助表示讚賞。
樣本數據如下
您是否願意拋出一些示例數據?動態SQL不是必需的。一次可以嘗試使用Rollup進行分組。 – KumarHarsh
@kumarHarsh列將被分組由用戶發送。即爲什麼它是動態的 – user1554650
@ user1554650,因爲您已經使用Excel,爲什麼不簡單地返回未分組的結果並使用Excel數據透視表進行分組? – Alex