ホームページ >データベース >mysql チュートリアル >SQL Server で複数の列を動的にピボットするにはどうすればよいですか?
SQL Server での複数の列を使用した動的ピボット
SQL Server では、データをピボットすることで行を列に入れ替えることができ、より直感的なデータが可能になります分析。複数の列を扱う場合、動的アプローチを採用すると、列名や値の変更に対応できます。
データのピボット解除
複数の列でデータを動的にピボットするには、まずピボットを解除します。 UNPIVOT 関数または CROSS APPLY を使用して、関連する列を削除します。このプロセスにより、複数の列が行に変換され、操作が容易になります。
動的 PIVOT 関数
ピボットを解除すると、PIVOT 関数を使用してピボット テーブルを作成できます。ただし、PIVOT 関数の列名はピボットされていないデータと一致している必要があります。これを動的に実現するには、次の手順を使用して列の値をそれぞれのメタデータと連結します。
例
年、タイプ、合計、およびボリュームの列を含む次のサンプル テーブルについて考えてみましょう。 :
ID | YEAR | TYPE | TOTAL | VOLUME |
---|---|---|---|---|
DD1 | 2008 | A | 1000 | 10 |
DD1 | 2008 | B | 2000 | 20 |
DD1 | 2008 | C | 3000 | 30 |
動的ピボット アプローチを使用すると、次の構造を持つピボット テーブル:
ID | 2008_A_Total | 2008_A_Volume | 2008_B_Total | 2008_B_Volume | 2008_C_Total | 2008_C_Volume |
---|---|---|---|---|---|---|
DD1 | 1000 | 10 | 2000 | 20 | 3000 | 30 |
アンピボット手法と動的ピボット手法を組み合わせることで、SQL Server のさまざまな列を含むデータを効果的に変換および分析できます。
以上がSQL Server で複数の列を動的にピボットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。