shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Power Query】クエリの依存関係を把握(ヘルパークエリでの事例)

Power Queryで、複数のクエリが連携している場合、各クエリがどのクエリに依存しているかを視覚的に把握したい時があります。

そのための機能として、Power Queryには「クエリの依存関係」という機能があります。

ファイルを結合するクエリで作成された「ヘルパークエリ」を事例に、クエリの依存関係を把握する方法の備忘録です。

なお、ヘルパークエリは、Power Queryで複数のクエリが自動作成されるために、各役割や関連性の理解が難しい機能です。以下はヘルパークエリの理解にも役立ちます。

内容:

事例の題材(ヘルパークエリ)

ファイルを結合するクエリでは、「ヘルパークエリ」が自動作成される。

ファイルの結合時にヘルパークエリが自動作成される

ヘルパークエリの事例

「ヘルパークエリ」の作成場面が不明な場合は、【Excel】パワークエリで、複数のファイルを 1 つに結合する方法をご覧ください。

「クエリの依存関係」の表示

PowerQueryエディターで、「表示」タブの「クエリの依存関係」をクリックする。

「表示」-「クエリの依存関係」をクリックする

「クエリの依存関係」の表示方法

「クエリの依存関係」をクリックすると、次の画面のように視覚的にクエリの関係が表示される。

すべてのクエリが表示され、矢印でデータの流れが表示されている。

全てのクエリが表示され、矢印でデータの流れが表示される

「クエリの依存関係」の表示例

「クエリの依存関係」の説明(事例のヘルパークエリで)

前述の「クエリの依存関係」の事例と、PowerQueryエディターの「クエリ」ウインドウを比較すると、次のように全てのクエリが表示されている

全てのクエリが表示されている

「クエリの依存関係」の事例と「クエリ」ウインドウを比較

このヘルパークエリでは、⑤のクエリに②と③は影響しているが、①と④は影響していないことがわかる(下図の青枠内)。

①と④の役割についての詳細はこちらのとおりで、作成したクエリのメンテナンスが不要なケースでは削除しても問題ありません。

なお、各クエリのどのステップに影響しているかを「クエリの依存関係」では把握できない。

また各クエリの説明にある「ワークシートに読み込み済み」は、その名のとおりExcelのワークシートで表示されている。「読み込まれていません」は「接続専用」クエリである。

②と③から⑤のクエリに矢印がある

⑤のクエリに①と④は影響していない

影響しているステップの把握

各クエリのどのステップに影響しているかを把握するには、各ステップを確認するか、詳細エディターで確認することになる。

多くのステップがある場合は、「適用したステップ」で各ステップを確認していくと手間であるため、「詳細エディター」での確認が効率的となる。

詳細エディターで確認

詳細エディターを表示する

クエリを選択した状態で「表示」タブの「詳細エディター」をクリックする。

この事例では、前述のとおり「⑤売上サンプルファイル」に「②サンプル ファイル」「③ファイルの変換」のクエリが影響していたので、「売上サンプルファイル」のクエリを選択している。

「表示」タブの「詳細エディター」をクリック

「詳細エディター」の表示
詳細エディターの内容を把握する

次のように、let ステートメントで始まる一連のクエリ式のステップが表示される。

「クエリの依存関係」で、「②サンプル ファイル」「③ファイルの変換」のクエリが影響していたので、その名前を探す。

ダブルクォーテーションで囲まれた列名部分を除くと、以下の赤線部分で呼び出されていることが分かる。

青線部分(=の左側)は、「適用したステップ」に該当するステップ変数名である。

letステートメントで始まる一連のクエリ式が表示される

詳細エディターの内容例

「適用したステップ」で各ステップを確認

前述の方法でどのステップに影響しているかを把握できるが、「適用したステップ」で確認した場合のイメージは次のとおり。

適用したステップで、各ステップを順番に選択して確認していく。

「カスタム関数の呼び出し1」を選択すると、ファイルの変換関数を呼び出している

適用したステップで、各ステップを選択して確認する

以上、ファイルを結合するクエリで作成された「ヘルパークエリ」を事例に、依存関係を把握する方法でした。

(参考)ヘルパークエリを理解するためのポイント

ヘルパークエリの詳細を把握したい方は、以下をご覧ください。

shikumika.org