
Power BIでは、データを読み込んだ後に「きれいに整える」ステップがとても大切です。
その役割を担っているのが Power Query(パワークエリ) です!
Power Queryとは?
Power Queryは、**データの前処理(クリーニングや整形)**を行うためのツールです。
Excelにも搭載されており、Power BI Desktopでは「Power Queryエディター」として使われます。
Power BI Desktopで「Power Queryエディター」を開く方法は下記の二つがあります。
① ホーム>クエリ>「データの変換」から開けます

② データを取得するときのナビゲーターの「データの変換」から開けます

Power Queryエディターの画面

Power Queryの機能
Power Queryは、データの取得(接続)、変換、結合、絞り込みなどの作業をノーコードで操作できます。以下に、Power Queryでできる機能を紹介します。
ホーム
Power Queryエディターのホームタブは「データ前処理の基本操作」がギュッと詰まった超重要メニューです

■新しいクエリ:新しいデータソースを取り込んだり既存のクエリを基に派生クエリを作成できる機能

- 新しいソース:データ取得Power queryエディターからでも新しいデータソースの取得
- 最近のソース:過去に使ったデータソースにすぐアクセスできる
- データの入力:手入力でテーブルを作成(表のような画面が開くので、列名と値を手入力)
■データソース:接続中のデータソースの情報を確認・編集・管理できる機能

- データソース設定:現在のデータソース(接続設定や認証方法)を管理・編集する。
■パラメータ:条件や値を変数のように設定して、クエリの動作を柔軟に制御できる機能

- パラメータの管理:パラメータの作成、管理、編集する。
■クエリ:作成したクエリの名前変更・コピー・削除など、管理や整理ができる機能

- プレビューの更新:Power query 上のデータを最新状態に更新(モデルに最新データ反映する場合には「閉じて適用」を押す)
- プロパティ:クエリの読み込みや更新対象の指定
- 詳細エディター:通常のクリック操作で作られたステップを「M言語1」で直接編集できる
- 管理:クエリの名前変更、削除、複製、参照ができる
- M言語とは:Power Queryの内部で使われている専用のプログラミング言語です。
データの読み込み・変換・結合・フィルターなどを命令として記述できます。 ↩︎
■列の管理:列の追加・削除・並び替えなど、テーブルの列を整理・編集するための機能

- 列の選択:クエリの列の選択、移動ができる(クエリから必要な列を選択するときに使用する!)
- 列の削除:クエリの列の削除、他の列の削除ができる
■行の削減:不要な行を削除したり、必要な行だけを抽出してデータを絞り込むための機能

- 行の保持:上位の行、下位の行、範囲の行を指定て保持、重複やエラーの行も保持できる
- 行の削除:上位の行、下位の行、代替行を指定て削除、重複や空白、エラーの行も削除できる
■並べ替え:選択した列を基準に、データを昇順や降順に並び替える機能

- 昇順、降順で列を並べ替える
■変換:選択した列の値や形式を整えるための、データ加工専用機能

- 列の分割:区切り記号、文字数、位置をしてして列を分割す、小文字から大文字や、数値から数値以外による分割もできる
- グループ化:指定した列ごとにデータをまとめて、集計や処理を行う、集約レベルのテーブルを作る
- データ型:データ型を変更できる(クエリの初期データ型は「ABC123」で設定されているため、適切なデータ型に変更する)
- 1行目をヘッダーとして使用:インポートしたデータの1行目の値を列名(ヘッダー)として設定する機能
- 値の置換:選択された列の値を指定した値に置き換える
■結合:複数のテーブル(クエリ)を横や縦にまとめて、1つのデータに統合するための機能

- クエリのマージ:複数のテーブル(クエリ)を横に結合(VLOOKUPのような動き)
- クエリの追加:複数のテーブルを縦に連結(行を増やす)
- ファイルの結合:フォルダー内の複数ファイル(CSVやExcel)を自動で1つにまとめる
■AI分析情報:クラウドAI機能を使った高度なデータ分析ができる拡張機能

- TextAnalytics:テキスト(文章)の内容をAIで分析する
- ビジョン:画像の内容をAIで認識する
- Azure Machine Learning:Azureでトレーニングされた機械学習モデルをPower BIに統合して使う
※使用するにはMicrosoftのAIサービス(Azure Cognitive Services)と連携するため、以下が必要になります
- Microsoft Azure サブスクリプション(無料枠あり)
- Cognitive Services のリソース作成(APIキーとエンドポイント)
- Power BI Pro or Premiumライセンス(モデルにより)
変換
Power Query エディターの 「変換」タブ は、読み込んだデータに対して加工・変換・整形をするための中心的なメニューです

※ホームと変換タブの機能は、どっちでもできる機能があります
■テーブル:テーブル全体に対して行や列の構造を変更するための操作機能

- グループ化:指定した列ごとにデータをまとめて、集計や処理を行う、集約レベルのテーブルを作る(ホームタブにもある)
- 1行目をヘッダーとして使用:インポートしたデータの1行目の値を列名(ヘッダー)として設定する機能(ホームタブにもある)
- 入れ替え:行と列を入れ替える
- 行の反転:行の順番を逆にする。一番下の行が一番上に来る
- 行数のカウント:現在のテーブルの行数を1列で追加する(=行番号的な列)
■任意の列:選択した列に対して、型の変更・値の置換・ピボット操作など個別の変換を行う機能

- データ型:データ型を変更できる(クエリの初期データ型は「ABC123」で設定されているため、適切なデータ型に変更する)(ホームタブにもある)
- データ型の検出:データに応じて自動的に型を変える
- 名前の変更:列の名前を変更する
- 値の置換:選択された列の値を指定した値に置き換える(ホームタブにもある)
- フィル:空白セルを上または下の値で埋める機能
- 列のピボット:値を列に展開して明細データをクロス集計の形にする
- 列のピボット解除:複数列を「属性+値」形式に戻して、クロス集計の形を明細に戻す
- 移動:列の上下・左右移動
- リストに変換:1列だけを「リスト形式」に変換
■テキストの列:テキスト(文字列)データを加工・整形するための超重要機能

- 列の分割:文字列を別の列に分割(区切り・文字数など)
- 書式:大文字/小文字変換・空白削除など
- 列のマージ:複数の列を1つにまとめて連結する
- 抽出:数字だけ / 文字だけ / 先頭・末尾の文字を抜き出す
- 解析:JSONやXMLなどの構造データを展開する
■数値の列:選択した数値列に対して、丸め・絶対値・計算などの数値処理を行う機能

- 統計:合計・平均・最小・最大・中央値など統計関数を適用
- 標準:加算・減算・乗算・除算など基本的な数値演算を実行
- 指数:絶対値や平方根、対数などの指数演算を適用
- 三角関係:SIN、COS、TANなどの三角関数を計算
- 丸め:四捨五入、切り上げ、切り捨てによる数値の丸め処理
- 情報:偶数/奇数判定や整数かどうかなど、数値に関する属性情報を取得
■日付と時刻の列:日付や時刻データの抽出、変換、計算を簡単に行うための機能

- 日付:日付データから「年」「月」「日」「曜日」などを抽出したり、日付の加算・減算を実行
- 時刻:時刻データら「時」「分」「秒」などを取り出したり、時刻の計算を
- 期間:2つの日付または時刻の差分を計算し、期間として扱う
■スクリプト:RスクリプトとPythonスクリプトをPower Query内で実行する機能

- Rスクリプトを実行する:R言語で記述したコードを使って、データを読み込み、加工、分析
- Pythonスクリプトを実行する:Pythonコードでデータ処理やカスタム変換を実行
※上記機能を使用するには、PCにR言語環境(例:R本体とRStudioなど)やPythonと必要なライブラリ(pandas など)がインストールされている必要があります。
列の追加
既存データを基に新しい列を追加するためのさまざまな機能があります。

■全般:既存のデータを元に新しい列を追加するための基本的な機能

- 列からの列:ユーザーが入力した例を基に、Power Query が適切な列を自動生成します(AI補助機能)
- カスタム列:M関数を使用して、自分で式を定義して新しい列を作成
- カスタム関数の呼び出し:事前に定義したカスタム関数を特定の引数で呼び出し、列として追加
- 条件列:IF文のような条件分岐によって値を変える列を作成
- インデックス列:各行に対して、0または1から始まる番号(行番号)を自動で付与
- 重複する列:指定した列をそのままコピーして、新しい列として追加
■テキストから:テキスト型データを加工・整形して新しい列を作成するための機能

- 書式:テキストを大文字化・小文字化・先頭文字だけ大文字・トリムで操作
- 列のマージ:複数の列を1つの列として結合
- 抽出:文字列の一部を抜き出す
- 解析:テキストをXML,JSONで分割・構造化
■数値の列:選択した数値列に対して、丸め・絶対値・計算などの数値処理をして新しい列を作成するための機能

- 統計:合計・平均・最小・最大・中央値など統計関数を適用
- 標準:加算・減算・乗算・除算など基本的な数値演算を実行
- 指数:絶対値や平方根、対数などの指数演算を適用
- 三角関係:SIN、COS、TANなどの三角関数を計算
- 丸め:四捨五入、切り上げ、切り捨てによる数値の丸め処理
- 情報:偶数/奇数判定や整数かどうかなど、数値に関する属性情報を取得
■日付と時刻の列:日付や時刻データの抽出、変換、計算をして新しい列を作成するための機能

- 日付:日付データから「年」「月」「日」「曜日」などを抽出したり、日付の加算・減算を実行
- 時刻:時刻データら「時」「分」「秒」などを取り出したり、時刻の計算を
- 期間:2つの日付または時刻の差分を計算し、期間として扱う
■クラウドAI機能を使った高度なデータ分析がして新しい列を作成するための機能

- TextAnalytics:テキスト(文章)の内容をAIで分析する
- ビジョン:画像の内容をAIで認識する
- Azure Machine Learning:Azureでトレーニングされた機械学習モデルをPower BIに統合して使う
※使用するにはMicrosoftのAIサービス(Azure Cognitive Services)と連携するため、以下が必要になります
- Microsoft Azure サブスクリプション(無料枠あり)
- Cognitive Services のリソース作成(APIキーとエンドポイント)
- Power BI Pro or Premiumライセンス(モデルにより)
以降「表示、ツール、ヘルプ」に関する説明は上級者向けなので別記事で書きます!
Power Queryが便利な理由
Power Queryが便利な理由を下記に整理しました
項目 | 説明 |
---|---|
ノーコード操作 | Excel感覚で、ノーコード操作でドラッグやクリックだけで複雑な変換が可能 |
再利用性 | データ更新で一度作った変換手順を再実行できる |
複数ソース対応 | Excel, CSV, Web, データベースなど、色んなデータを取込可能 |
データクレンジング | 空白除去、列分割、型変換など、汚いデータを整える処理が簡単 |
結合・統合が簡単 | 複数の表を結合、追加したりするのが視覚的にできる |
M言語で拡張可能 | スクリプト(M言語)で細かいカスタマイズも可能 |
履歴に残る | すべての操作が「ステップ」として記録されるので、やり直しや、履歴確認が可能 |
まとめ
Power QueryはPower BIでデータを整える「下ごしらえ担当」!
項目の削除、変換、結合、集計など、直感的に操作可能 一度設定すれば、データ更新時も自動で変換が再適用されるのが最大の魅力です!
次回は具体的なPower Query操作を説明します!
記事が役に立ったら、ぜひシェア&コメントしてください!
コメント