ピボットと分割 — 横持ちデータを縦持ちに変換する
導入
月ごとの売上が「1月」「2月」「3月」……と横に列が並んだExcelファイルを受け取ったとき、Tableauでそのまま分析しようとすると月を軸にした集計がうまくいかないことがあります。そういった「横持ちデータ」を分析しやすい「縦持ち」に変換するのがピボット操作です。
くわしく知ろう
データには「横持ち」と「縦持ち」という2種類の構造があります。横持ちとは、1つの属性(例: 月)が複数の列に分散した構造のことです。たとえば1行に「商品名・1月売上・2月売上・3月売上」という列が並んでいる場合がこれにあたります。一方、縦持ちとは「商品名・月・売上」の3列で、月ごとに行を分けて表現する構造です。Tableauは縦持ち構造を前提とした集計を得意としているため、横持ちのデータは事前に変換しておく必要があります。
Tableau Prep Builderのピボットステップでは、「列から行へ(横持ち→縦持ち)」の変換と「行から列へ(縦持ち→横持ち)」の変換の両方に対応しています。最もよく使う操作は前者で、月ごとに並んだ列を選択してピボットを適用すると、「ピボットフィールド名」(例: 月)と「ピボットフィールド値」(例: 売上)という2列が自動的に生成されます。
分割(スプリット)は、1つのフィールドに複数の情報が詰め込まれている場合に使う操作です。たとえば「東京都-新宿区」のように都道府県と区市町村がハイフンで結合されているフィールドを、区切り文字(ハイフン)を指定して2つの列に分割することができます。Prep Builderでは「自動分割」と「カスタム分割」の2種類が用意されており、区切り文字が一定の場合は自動分割で十分なことが多いです。
具体例
たとえば四半期ごとの売上が「Q1」「Q2」「Q3」「Q4」という4列で並んでいるデータがあるとき、ピボットステップでこの4列を選択すると「四半期」列と「売上」列の縦持ち構造に変換されます。一方「2024-01-15」という日付文字列から年・月・日を別々の列に取り出したいときは、分割操作でハイフンを区切り文字に指定すれば対応できます。
まとめ・試験ポイント
- 横持ちデータ=属性が複数列に分散した構造(例: 1月・2月・3月という列)
- 縦持ちデータ=属性を1列にまとめ、行を増やして表現する構造
- ピボット(列から行へ)=横持ちを縦持ちに変換。Tableauの集計に適した形にする
- 分割(スプリット)=区切り文字で1フィールドを複数列に分ける操作
- DA試験では横持ち→縦持ちの変換にどのステップを使うかが問われる
学習した内容を模擬試験で確認しよう。Tableau Data Analyst模擬試験で実力を測ろう。
Tableau DA模擬試験を見る