SQLのTRANSFORMとPIVOTで簡単にクロス集計しようぜ

TRANSFORMとPIVOTで簡単にクロス集計できる方法を話していこう。

クロス集計する準備

・テーブル名はpeople

namesex
satouman
tanakawoman
itouman
suzukiwoman
moriwoman
satouman

性別ごとにクロス集計してみよう

TRANSFORM COUNT(sex)
SELECT name
FROM people
GROUP BY name
PIVOT sex IN ('man', 'woman')

説明するとつぎのような感じになる。

  • SELECT句とGROUP BY句に「左側に表示したい列を」
  • TRANSFORMのところに「集計したい列のCOUNTを」
  • PIVOTに「集計したい列の項目を」

PIVOTにINで集計したい項目を順番に指定していけばOK。
項目に一致しない場合はNULLで出力される。

結果は下記のような感じだ。

namemanwoman
itou1
mori1
satou2
suzuki1
tanaka1

まとめ: TRANSFORMとPIVOTで簡単にクロス集計しよう

説明した通りだが、TRANSFORMとPIVOTをつかえば短いSQL文で簡単にクロス集計ができるようになる。

分析もラクになるはずだからぜひ試してみよう。

事務作業を自動化してもっと"ラク"しませんか?

あなたの会社の事務作業...効率化してラクに。もっと重要な業務に集中できるようになります。

日々増えるルーティンの事務作業...
「この作業めんどくさい...」
「事務作業に時間をとられて他に集中できない...」

あなたの代わりにVBAを使ってパソコン業務を自動化。あなたはもっと価値のあることに時間を使うことができるため売上UP、ムダなコストの削減が期待できます。

また、作って終わりではなくつぎの3つのことを約束します。

  • しっかりドキュメント作成
  • きれいな見やすいコードでムダな工数カット
  • できるだけボタン1つポチッと押すだけで業務が完了

どんなにささいなめんどくさい事務作業でも相談してください。相談は無料です。
3年の業務効率化実績があるため、力になれるかもしれません。

※件名には「業務効率化の相談」と記載ください。できるだけ24時間以内に返信します。