BI探検ノート

Excel の横長の表を縦の表にする(Power Query のピボット解除)

約7分

濵口 翔長崎で、Power BI のつまずきを記録しています
目次
  1. 使ったデータ
  2. 1. Excel を取り込む
  3. 2. このまま、グラフにするとどうなるか
  4. 3. ピボット解除する
  5. 4. 適用すると、以前のグラフが壊れた
  6. 5. 作り直したグラフ
  7. この記事で確認できたこと・できていないこと
  8. 参考

確認日2026年10月22日。Power BI Desktop(日本語版、2.159.883.0)で、疑似データ(Excel、5行×6か月)を使って確かめました。疑似データです。 確認できていないことは、末尾にまとめました。

Excel で、月ごとの売上が「1月、2月、3月…」と、横に並んでいる表を、Power BI に読み込むと、グラフが作りにくくなります。Power Query の「ピボット解除」で、縦長の表にする手順を、実機で確かめました。

結論(30秒版)

  • 月が別々の列になった表は、グラフで、「1月の合計」「2月の合計」…と、月ごとに別の系列になります。月を、横軸に1本で並べられません。
  • Power Query で、店舗と商品の列を選んで、「その他の列のピボット解除」を押すと、店舗・商品・属性・値の縦長の表(5行×6か月=30行)になりました。
  • 適用すると、以前、1月〜6月の列で作ったグラフは、壊れました(「1つ以上のフィールドに問題があります」)。作り直しが必要です。

使ったデータ

Excel の1つのシートに、次の表を置きました(疑似データ、sales_wide.xlsx)。

店舗商品1月2月3月4月5月6月
渋谷コーヒー120013501100150014201600
渋谷サンドイッチ80090095087010001100
新宿コーヒー150014001650170015801800
新宿サンドイッチ700760800820900950
梅田コーヒー9009501000105011001200

サンプルは、ダウンロードできます。

1. Excel を取り込む

ホームの「Excel ブック」で、ファイルを選ぶと、ナビゲーターが開きます。「売上」のシートにチェックを入れて、「データの変換」を押します。

ナビゲーターのプレビュー。見出しが Column1、Column2…になり、1行目に「店舗」「商品」「1月」…が入っている

プレビューの見出しが、「Column1」「Column2」…になり、本当の見出し(店舗、商品、1月…)が、1行目のデータになっています。Power Query エディターで、「ホーム」の「1行目をヘッダーとして使用」を押すと、直りました(CSV で、同じことが起きる場合は、CSV の1行目が見出しにならないときに書きました)。

Power Query エディター。店舗、商品、1月〜6月の8列が横に並んでいる

2. このまま、グラフにするとどうなるか

試しに、「閉じて適用」で、そのまま読み込みました。データペインには、「1月」「2月」…「6月」が、別々の列として並びます。

データペイン。売上のテーブルに、1月、2月、3月、4月、5月、6月、商品、店舗の列が並んでいる

6つの月すべてにチェックを入れて、縦棒グラフにすると、「1月の合計、2月の合計、3月の合計、4月の合計、5月の合計および6月の合計」と、6つの別々の系列になりました。月を、横軸に並べて、推移を見たくても、そのままでは、できません。

縦棒グラフ。1月の合計から6月の合計までが、別々の色の棒になっている

3. ピボット解除する

Power Query エディターに戻ります(「ホーム」の「データの変換」)。

  1. ピボット解除したくない列を選びます。ここでは、「店舗」と「商品」の2列です(1列目をクリックして、Ctrl を押しながら2列目をクリックします)。
  2. 「変換」タブの「列のピボット解除」の▼を押します。

「店舗」と「商品」の2列を選んだ Power Query エディター

メニューには、3つの項目がありました。

「列のピボット解除」のメニュー。「列のピボット解除」「その他の列のピボット解除」「選択した列のみをピボット解除」の3つが並んでいる

  • 列のピボット解除
  • その他の列のピボット解除
  • 選択した列のみをピボット解除

今回は、「その他の列のピボット解除」を選びました。選んだ列(店舗、商品)以外のすべての列(1月〜6月)が、縦に並びます。

結果は、30行(5行×6か月)の表でした。列は、「店舗」「商品」「属性」「値」の4つです。「属性」に月(1月〜6月)、「値」に売上が入りました。

ピボット解除の結果。店舗、商品、属性、値の4列で、渋谷・コーヒーの行が、1月〜6月の6行に分かれている

数式バーには、次の式が入りました。

= Table.UnpivotOtherColumns(変更された型1, {"店舗", "商品"}, "属性", "値")

数式バーと、適用したステップ。式は Table.UnpivotOtherColumns で、最後のステップは「ピボット解除された他の列」

列の名前が、「属性」「値」と、あまり意味のない名前になっています。名前を、「月」「売上」に変えると、使いやすくなります(今回、私は、名前の変更を、確認していません)。

3つの方法の違い(公式の記載)

Microsoft Learn の「列のピボット解除」(英語版を、私が読んだ範囲です)には、次のように書かれています(公式)。

  • Power Query は、ピボット解除すると、常に2つの列(属性と値)を作る。
  • 「その他の列のピボット解除」は、「列の数が、決まっていないデータ」に、向いている。更新で、新しい月の列が増えても、自動で、ピボット解除される。
  • 「選択した列のみをピボット解除」は、選んだ列だけを、解除する。更新で、新しい列が増えても、そのままの列として残る。

この「更新で増えた列の扱い」は、公式の説明です。私は、実際に、列を増やして、更新する確認は、していません。

4. 適用すると、以前のグラフが壊れた

「閉じて適用」を押すと、データペインの列が、「商品」「属性」「値」「店舗」に変わりました。そして、さきほどの、1月〜6月の列で作ったグラフは、エラーになりました。

グラフの場所に、「1つ以上のフィールドに問題があります」と出ている。右のフィールドの一覧に、1月の合計から6月の合計までが、警告のマーク付きで残っている

「1つ以上のフィールドに問題があります」と出て、フィールドの一覧に、**もう存在しない「1月の合計」〜「6月の合計」**が、警告のマーク付きで残っています。列が、ピボット解除で、なくなったためです。

私の操作では、壊れたグラフを、キーボードの Delete キーでは消せず、グラフの右下の「…」から「削除」を選ぶと消えました。

ピボット解除は、すでにグラフを作ったあとにやると、そのグラフを壊します。 データを整える作業は、グラフを作る前に、先に、やる方が安全です。

5. 作り直したグラフ

新しい列(商品、属性、値)で、折れ線グラフを作ると、月(属性)が、横軸に、1本で並びました。

ピボット解除後のデータペイン。商品、属性、値、店舗の列が並んでいる

折れ線グラフ。横軸が属性(月)で、値の合計が縦軸。右端が1月、左端が6月と、値の大きい順に並んでいる

ただし、このグラフも、月の並びが、「値の大きい順」(6月、5月、4月…)になっていました。並べ替えの直し方は、ダッシュボードの作り方の記事に書いた、「条件 の並べ替え」と同じです。

この記事で確認できたこと・できていないこと

確認日: 2026年10月22日。Power BI Desktop 2.159.883.0(Windows、日本語版、未サインイン)、疑似データ(Excel、5行×6か月)。

確認できたこと

  • 月が別々の列だと、グラフが、月ごとの別の系列になること
  • 「その他の列のピボット解除」で、5行×6か月が、30行の縦長の表(店舗・商品・属性・値)になること。式は Table.UnpivotOtherColumns
  • 適用すると、以前のグラフが、「1つ以上のフィールドに問題があります」で、壊れること
  • 新しい列で作り直すと、月が、横軸に、1本で並ぶこと(並びは、値の大きい順で、並べ替えが必要)

確認できていないこと

  • 「属性」「値」の列名を、変える操作
  • 「その他の列」と「選択した列のみ」の、更新で列が増えたときの違い(公式の記載だけを、書きました)
  • 月の列名が、「10月」「11月」…と増えたときの、並びの扱い(文字として並べると、10月が、2月より前に来る可能性があります)
  • 英語版での名称

参考

この記事で使った用語

Power BI Desktop
Windows で動く、レポートを作るためのアプリです。データの取り込みとモデルの作成、レポートの作成に向いています。

用語集をすべて見る