私は、ユーザーが列を渡しますSQLHirearchialダイナミックグループ化は
にグルーピング・セットを使用してhirearichialレポートを作成しようとしていますが、ストアドプロシージャなどのため
にカンマ区切りのパラメータとしてグループ化されます。
@grouplist='Country,Region,DeptNo'
dynamic.Itになりますグループ化する列が格納procedure.iにパラメータとして送信されます。ユーザーはDEPTNO で、その後、その後地域によって国によってグループに必要ならば、彼は、例えばのためのパラメータとして送信されます使用することはできません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;
を生成するために使用されるクエリです単一の列に列ごとに出力を表示するオプションがあります。ここで問題は列ごとにグループ化されていることですストアドプロシージャのパラメータとして設定します。 助けていただければ幸いです。
サンプルデータが
サンプルデータを投げるのに気をつけますか?動的SQLは必要ありません。ロールアップでグループ化できます。 – KumarHarsh
@kumarHarshグループ化される列は、ユーザーによって送信されます。なぜあなたは既にExcelを使用しているので、なぜそれが動的に作られたのですか? – user1554650
@ user1554650あなたは単にグループ化されていない結果を返し、Excelのピボットテーブルを使ってグループ化するのはなぜですか? – Alex