この記事は「Power BI入門 家計簿レポート」シリーズの第4回目で、前回設計したデータモデルをもとに、実際にレポートで使うテーブルの形にしていきます。

ミムチ

元のCSVデータから、設計したテーブルの形にするには、どうすればよいのですかな…?

パワ実

Power BIの「Power Query」機能を使えば、データの取得・整形操作ができます。

前回は、家計簿レポートの設計図となるデータモデルを、スタースキーマの考え方で設計しました。

【Power BI入門】家計簿分析レポート#3 ~スタースキーマの概念でデータモデル設計をする~この記事は「Power BI入門 家計簿レポート」シリーズの第3回目で、Power BIのデータモデル設計の考え方を解説しています。 前回の第2回では、「何を知り、何を判断したいか」、家計簿データ分析の要件を整理しました。 今回は家計簿レポートを作成する際の、データモデル設計をしていきます。 ...

今回からはいよいよPower BI Desktopを操作していきます。

この記事でわかること
  1. Power Queryで何ができるのか?
  2. Power Queryでデータ整形する基本的な操作方法
  3. 整形したデータをPower BIに読み込む際の注意点

Power BIについて詳しく学びたい方は、ぜひパワ実のPower BI入門書もご覧ください!

Power BI入門書を出版しました!このたび、2026年3月19日に「ゼロから学ぶPower BI 実践に役立つデータドリブン分析入門」を出版しました! この記事では、Power BI入門書の内容や、特典について紹介します!...

YouTube動画で見たい方は、こちらからどうぞ!

今回実施するところ

このシリーズでは、Power BIを使ったデータドリブンな意思決定の流れを学ぶことができます。

今回はステップ③、データの準備で、前回②で設計したデータモデルを、Power Queryを使って実際に形にしていきます。

実務のデータ分析でも、この『データを整える』工程は、非常に重要なパートになります。

ミムチ

ここが適切にできていると、あとのレポート作成作業が楽になりますぞ!

Power Queryとは?

役割

最初にPower Queryとは、データの取得・変換・読み込み、いわゆるETL処理を自動化できるツールです。

Power Queryは、Power BI やExcelに標準で組み込まれている機能です。

例えば、以下の例を見てみましょう。

出典:総務省統計局, 世界の国民総所得、GNI

左側の元データは、人間が見るぶんには分かりやすくても、セルが結合されていたり、年が横に並んでいたりして、このままでは分析に使えません。

これをPower Queryで変換すると、右の変換後のデータような『1行1レコード』のきれいなテーブルフォーマットになります。

パワ実

Power BIなどでデータ分析する場合は、右のようなテーブルフォーマットに変換しておく必要があります。

そしてPower Queryは、この変換の手順がすべて記録されているため、一度変換の操作を作ってしまえば、新しいCSVを取得しても、更新1つで同じ変換が再実行されます。

画面構成

Power Queryエディターの画面構成を説明します。

基本的な4つのエリアだけ覚えておきましょう。

Power Queryの画面構成
  1. 操作メニュー:リボンからデータの取得や変換操作を行う
  2. クエリの一覧:クエリ(データの取得や操作を要求する命令文)の一覧が表示される
  3. プレビュー:クエリの一覧で選択したクエリを実行した結果のテーブルが表示される
  4. 適用したステップ:操作メニューで実行したデータ処理の履歴が1ステップずつ記録される

Power Queryでデータの変換を行っても、元データは変更されず、新しくテーブルが作成される形となるため、壊れることはありません。

ミムチ

失敗してもステップを消せばやり直せるので、安心して触ってみてくだされ!

データ整形の流れ

Power Queryでの作業は、大きく3ステップで進めます。

Power Queryでのデータ整形の流れ
  1. データを取得する
  2. 操作メニューで必要な変換をする
  3. 必要なクエリをテーブルとして出力する

今回はこの3ステップのながれを、家計簿データで一通り体験していきます。

データの取り込み

概要

取り込みの前に、今回Power BIに取り込む3種類のCSVファイルを確認しておきます。

1つめが収支履歴のCSVで、これは、日々の収入・支出が1行ずつ記録された、トランザクションデータで、今回のサンプルは2024年と2025年の2ファイルがあります。

2つめが投資信託、3つめが預金残高のCSVファイルです。

この2つはある時点での資産の状態を写した、スナップショットデータです。

前回の設計を思い出してください。

【Power BI入門】家計簿分析レポート#3 ~スタースキーマの概念でデータモデル設計をする~この記事は「Power BI入門 家計簿レポート」シリーズの第3回目で、Power BIのデータモデル設計の考え方を解説しています。 前回の第2回では、「何を知り、何を判断したいか」、家計簿データ分析の要件を整理しました。 今回は家計簿レポートを作成する際の、データモデル設計をしていきます。 ...

収支履歴からはfact_Cashflowを、投資信託と預金残高の2つを合体させてfact_Assetsを作っていきます。

パワ実

この対応関係を頭に置いて、実際に取り込んでいきましょう!

操作

サンプルファイル(以下からダウンロード可能)を以下のように、「Dドライブ>Power BI」フォルダ下に格納します。

1.Power BI Desktopを起動します。まずは収支履歴のCSVを取り込んでいきます。

Power BIデスクトップアプリは、Microsoft Storeから無料でインストールできます。

2.ホームタブの「データを取得」から「詳細」をクリックします。

3.「フォルダー」を選び、「接続」をクリックします。

今回のように、対象のファイルが複数ある場合、CSVやExcelでなく、フォルダーからデータを取得します。

4.「結合」>「データの結合と変換」をクリックします。

「結合」をクリックすると、フォルダー内にあるすべてのファイルが1つに結合されます。

結合をしない場合、「データの変換」をクリックすると、Power Queryエディター画面が開き、データ変換操作をすることができます。

5.ファイルの結合画面で、「OK」をクリックします。

左上の「元のファイル」は、デフォルトでは、 Unicode (UTF-8) になっていますが、日本語が文字化けしていないことを確認し、必要に応じて文字コードを切り替えます。

また、区切り記号がコンマになっていて、1行目が列名として認識されていることを確認しておきましょう。

6.Power Queryエディター画面が開き、左のクエリ一覧に「収支履歴」が追加されたことを確認します。

7.残り2つのCSVは、Power Queryエディターの「新しいソース」>「テキスト/CSV」で追加します。

8.まず、「投資信託.csv」を選び、「開く」をクリックします。

9.「OK」をクリックします。

10.クエリ一覧に「投資信託」が追加されたことを確認します。

11.ステップ7~9と同様の手順で、「預金残高」クエリも取り込みます。

ミムチ

これで3つのクエリが揃いましたぞ!

データ変換

ここから、Power BIのPower Query機能を使って、データ変換をしていきます。

fact_Cashflow

まずは「fact_Cashflow」を、収支履歴のCSVから作ります。

変換の基本操作は4つだけです。

fact_Cashflow作成の変換操作
  1. 振替列がFALSEのレコードのみをフィルターで残す。
  2. メモ、振替、IDの列を削除する
  3. 金額のプラス・マイナスから「収支」という列を追加する
  4. 各列のデータ型を正しく設定する

1.最初にクエリ一覧から「収支履歴」を選択し、クエリの名前を、右側のクエリの設定ペインから「fact_Cashflow」に変えます。

2.「振替」列の「▼(フィルター)」をクリックし、「」にだけチェックを残して、「OK」をクリックします。

振替というのは口座間のお金の移動、たとえば銀行からNISAへの積立などです。

これを支出として数えると二重計上になってしまうので、振替がFALSEの行、つまり純粋な収入と支出だけを残します。

ミムチ

データを整えるこの段階で除外しておけば、このあとレポートを作るときに振替のことを一切気にしなくてよくなりますぞ。

3.次に分析に必要な列だけ残すため、「列の選択」から、残したい列を選びます。

以下の列だけチェックを残し、「OK」をクリックします。

不要な列を残しておくと、分かりづらい上、パフォーマンスも落ちるため、早めに不要な行や列を削除しておきます。

4.金額列のプラス・マイナスから収支の列を作るため、「列の追加」から「条件列」をクリックします。

以下のように、金額が0より小さければ「支出」、それ以外は「収入」という設定をし、「OK」をクリックします。

5.追加した「収支」列をテキスト型に変換します。

他の列のデータ型も適切なことを確認すれば、fact_Cashflowの完成です。

2024年と2025年、2年分の取引が1つのテーブルにまとまりました。

パワ実

2026年のファイルが追加されても、エクスポートしたCSVをフォルダーに置いて更新ボタンを押すだけで、同じ変換処理が反映できます。

fact_Assets

次に、資産のファクトテーブル「fact_Assets」を作っていきます。

やることは上図のように、投資信託と預金残高、2つのCSVから不要な列を削除して、資産種別の列を追加し、最後に縦に統合して1つのテーブルにします。

2つのクエリを1つに統合する操作を『クエリの追加』、英語ではAppend(アペンド)と言います。

ここで重要な前提として、クエリの追加、Appendは『列名・列のデータ型が同じ列同士』を繋げます。

しかし、投資信託の金額は『評価額』、預金の金額は『残高』と、列名がバラバラなので、統合の前に、列名を揃えておく必要があります。

1.投資信託のクエリを準備

1.データ型は、CSVデータの取得時に自動で設定されているので、正しく設定されていることを確認すればOKです。

もしデータ型が正しくない場合、ここで設定しておきましょう。

2.「列の選択」をクリックし、必要な列だけを残します。

以下の列にチェックを入れて、「OK」をクリックします。

3.預金データと統合した後に、どの行が投資信託でどの行が預金か区別できるように、「列の追加」から「カスタム列」をクリックしましょう。

4.「資産種別」という列を追加し、値は固定で「”投資信託”」と入力し、「OK」をクリックします。

5.新しく作成された「資産種別」列のデータ型を「テキスト」型に変更します。

これで、「投資信託」クエリの準備は完了です。

2.預金残高のクエリを準備

1.同様の操作で、「預金残高」クエリを選択し、「ホーム」タブの「列の選択」で、必要な列を残します。

以下の列にチェックを残し、「OK」をクリックします。

2.「投資信託」のテーブルと、列名をそろえたいため、「残高(円)」の列名をダブルクリックして、「評価額(円)」に列名を変更します。

2つのクエリを1つのクエリに統合する(クエリの追加)場合、2つのクエリのそれぞれの列名と、データ型はそろえておく必要があります。

3.預金には評価損益がないので、列を作って形を揃えます。「列の追加」から「カスタム列」をクリックします。

以下のように入力し、「OK」をクリックします。

4.もう一つカスタム列を作成し、「資産種別」列に「”預金”」と入力し、「OK」をクリックします。

5.作成した「評価損益」列のデータ型を「整数」にし、「資産種別」列のデータ型を「テキスト」に設定します。

これで、2つのクエリの列構成が同じになりました。

3.2つのクエリを1つに統合

「投資信託」と「預金残高」の2つのクエリを統合します。

1.ホームタブの「クエリの追加」から、「クエリを新規クエリとして追加」の方を選びます。

「クエリを新規クエリとして追加」を選ぶと、元の2つのクエリを残したまま、合体した新しいクエリが作られます。

「クエリの追加」を選ぶと、選択したクエリに、別のクエリをそのまま統合します。

「預金残高」と「投資信託」の2つを選び、「OK」をクリックします。

2.クエリの名前を「fact_Assets」に変えます。

ミムチ

投資信託と預金のデータが、1つのテーブルに縦に繋がりましたぞ!

dim_Category

続いて、ディメンションテーブル(分析の切り口になるマスタ)を作ります。

まずは、カテゴリマスタ「dim_Category」を作っていきます。

「fact_Cashflow」の中にある大項目と中項目の組み合わせを取り出して、重複を削除して作ります。

さらに『費用種別』という列を追加して、住居費や光熱費のような固定費と、食費のような変動費を区別できるようにします。

パワ実

この分類があると、レポートで固定費と変動費の割合が一目で見えるようになります。

1.「fact_Cashflow」を右クリックして、「参照」を選びます。

「参照」と「複製」の違い

「複製」は元のクエリのコピーのため、元のクエリを後から直しても、コピー先のクエリには反映されません。

一方「参照」は元のクエリの結果を入力として使うというものです。

今後、元のクエリ(fact_Cashflow)の変換を修正したら、そこから参照しているこのクエリにも自動で反映されます。

2.クエリ名は「dim_Category」に変更します。

3.必要なのは「大項目」と「中項目」だけなので、「Ctrl」キーを押しながら、この2列を選択し、「右クリック」>「他の列の削除」をします。

4.今は取引の行数分、同じカテゴリが繰り返されているので、2つの列を選択した状態で、「右クリック」>「重複の削除」で、重複行を削除します。

これでカテゴリの一覧、つまりマスタになりました。

5.「費用種別」列を「列の追加」の「条件列」で追加します。

以下のように入力し、「OK」をクリックします。

ミムチ

ここの分類は、個人の考え方で調整してOKですぞ!

6.追加された「費用種別」列のデータ型を「テキスト」型に変更します。

これで、「dim_Category」ができました。

dim_Account

最後に、口座マスタの「dim_Account」を作ります。

元データは、「fact_Cashflow」と「fact_Assets」の2つになります。

両方のファクトテーブルから「保有金融機関」の列を取得して、重複を削除して作っていきます。

1.「クエリの追加」から「新規クエリとして追加」を選びます。

2.「fact_Cashflow」と「fact_Assets」を選び、「OK」をクリックします。

3.2つのクエリが結合されたので、クエリ名を「dim_Account」に変更します。

クエリの追加は「列名が同じ列」だけを1つに結合しますが、今回は、両方のテーブルに共通で存在する「保有金融機関」の列だけが必要になります。

4.「保有金融機関」列を右クリックし、「他の列の削除」をクリックします。

5.右クリックで「重複の削除」もします。

6.口座の種類で分析できるように、「列の追加」から「条件列」で、「口座種別」の列を追加します。

以下のように、名前の付け方のルールを利用した分類をし、「OK」をクリックします。

7.「口座種別」列のデータ型を「テキスト」に変更します。

これで、『現金や銀行からの支出がいくら、キャッシュレスがいくら』みたいな切り口で家計を見られるようになります。

ミムチ

設計した4つのテーブルが、すべて完成しましたぞ!

変換後のデータを適用

最後に、作成したクエリをPower BI に読み込みます。

クエリ一覧を見ると、元のCSVを読み込んだクエリ等の中間クエリが残っています。

これらは「fact_Assets」や「dim_Account」の材料としては必要ですが、レポートで直接使うことはありません。

そのため、Power BIに不要なテーブルは、レポートに読み込まれないよう、読み込みの無効化をしておきます。

1.「投資信託」のクエリを右クリックし、「読み込みを有効にする」のチェックを外します。

読み込みの有効化・無効化

読み込みを無効化したクエリの名前は、日本語では分かりづらいですが、以下のように斜体で表示されます。

これは、「データ更新時に中間クエリとして更新されるが、レポートには読み込まない」状態です。

2.同様の操作で、「預金残高」のクエリも読み込みを無効化します。

今回Power BIに読み込むのは、「fact_Cashflow」、「fact_Assets」、「dim_Category」、「dim_Account」の4つだけです。

3.ホームタブの「閉じて適用」をクリックします。

これでPower Queryエディターを閉じて、変換結果のクエリがPower BI に読み込まれます。

4.読み込みが終わると、右側のデータペインに4つのテーブルが表示されます。

5.「テーブルビュー」で、データの中身を確認してみます。

以下のように、変換後のデータが入っています。

新しくフォルダー内のデータが更新されたら、「更新」ボタンを押すだけで、CSVの再取り込みからPower Queryでの変換まで、全部が自動で再実行されます。

最後に、「ファイル」タブから、名前を付けてPower BIファイル(.pbix)を保存しておきましょう。

パワ実

お疲れ様でした!

これが、基本的なPower Queryでのデータ変換の流れです。

さいごに

この記事では、Power Queryで3種類のCSVを取り込み、ファクトテーブルと、ディメンションテーブルを作成しました。

今回はPower Queryでよく使う基本的な操作を行ったので、今回の家計簿データ以外のデータ整形にも活用できます。

また、変換処理はすべてステップとして記録されているので、データが新規に追加された場合も、自動でデータ更新ができます。

パワ実

次回は、今回作成しなかった日付テーブル、dim_DateをDAXで自動生成して、テーブル同士のリレーションシップを設定します。

ABOUT ME
パワ実(Microsoft MVP)
2021年からPower Platformの勉強中。 2023年にIT系・コンサルタントに転職し、仕事でPower Platformを活用したコンサルを行っています。 2025年~Microsoft MVP for Business Applications 受賞。Power Platformを使っていく中で、知りえた情報をブログ、Youtube、Xで発信しています。 2025年8月~現在は、フリーランスとして、Power Platform系ITコンサルタントとして活動中。 Power Platformに関するご相談は以下のページからお願いします! https://www.powerplatformknowledge.com/contact/