Excel Power Query コピーと複製・参照の使い分け

Power Query 第27回目です。
Power Query エディターで苦労して設定したクエリを簡単に有効活用する方法が、クエリの「複製」「参照」そして「コピー」です。

くるみこ
くるみこ

今回は、せっかく作成したクエリを有効活用する方法として [複製] と [参照] の機能があります。さらに通常の [コピー] &ペーストもその方法の一つです。これらについて、ここでしっかり勉強しておきましょう。

使い分けをちゃんと勉強しておかない効率化になりませんよね。

よろしくお願いしますm(__)m

【この記事でわかることは】
・クエリの [コピー] &ペーストと [複製] [参照] の違いがわかります
[コピー] &ペーストと [複製] [参照] の使いどころがわかります

前回の Power Query 記事は、下のカードをクリックすれば開きます(^^ゞ

・PowerPivot でデータモデルにリレーションシップを設定する方法とピボットテーブルでリレーションシップを結合する手順がわかります。

記事作成にあたっては次の Microsoft office のサポートの情報などを参照しています。
Power Query for Excel のヘルプ
Excel の Power Query について
クエリの管理 (Power Query)

なお、この記事の画像は Microsoft 365 で取得した画像です。Excel2016 のリボンやメニューなどバージョンによって違うようなので、適宜読み替えをお願いします(^^)/

[コピー] と [複製] と [参照] を比較

クエリは、Power Query エディターの [クエリ] ウィンドウまたは Excel の [クエリ&接続] ウィンドウの [クエリ] タブで管理できます。

下の画像では、Power Query エディターの [クエリ] ウィンドウに表示されているクエリ上でマウスを右クリックしているところです。表示されたメニューから [コピー] と [複製] [参照] が選択できます。

実際に操作して確認してみましょう

次のGIF画像は、初めに [複製] 次に [参照] 最後に [コピー] & [貼り付け] を実行しています。

操作の動きを確認

【GIF画像の動作解説】

  1. [複製] の場合、[複製] を選択するとすぐに「単価マスタ(2)」が作成されました。
    適用したステップ」を見ていただくとわかるとおり、複製元と同じ設定です。
  2. [参照] の場合も、[参照] を選択するとすぐに「単価マスタ(3)」が作成されました。
    適用したステップ」が [複製] と違い、[ソース] だけです。
  3. [コピー]では、[コピー] 選択後に空白部分で再度右クリックし [貼り付け] を指定しています。
    「単価マスタ(4)」が作成されると同時にパラメータークエリ「GetParamValiu(2)」も作成されています。適用したステップ」は複製元と同じ設定のようです。

詳細エディターでMコードを確認

・元のクエリが「単価マスタ」、[複製] クエリが「単価マスタ(2)」、[コピー] が「単価マスタ(4)」です。すべて同じMコードです。(画像はクリックで拡大表示できます

[参照] クエリが「単価マスタ(2)」です。元クエリの「単価マスタ」がソースになっています。

元クエリの「単価マスタ」がソースということは、元クエリに変更があれば影響を受けるということですね。

[参照] クエリだけが違っていることが確認できました。

[コピー] &ペーストと [複製] [参照] の使いどころ

既存のテーブルからリストを作成したい時など、はじめから作り直すのは大変です。作成するよりも流用できるクエリがあれば、これらの手法をうまく活用すれば、ものすごく時短になりますね。

【それぞれの使いどころはこんな感じかな】
<複製>
元クエリに変更を加えて活用したい場合には「複製」がいいと思います。
適用しているステップが多い場合、一旦適用してみたけど元に戻したいとか、違う方法を試してみたいなどのときに使います。
変更前のクエリは残しておいて、複製して色々試してみたり、改変して違うクエリを作成するなどの場合に使用します。

<参照>
元クエリをそのまま活用して次のステップを追加していく場合には「参照」を使います。
元クエリから複数の違う処理に分岐する場合などに利用します。

<コピー>
相互依存関係にあるクエリまで一式で複製するなら「コピー」を使いましょう。

この記事を書き始めるまで知らなかったんですが、クエリをコピーすると、そのクエリの Mコードがクリップボードにコピーされるんですよね。わざわざ詳細で表示しなくてもいいんですね。というか、コピーされるのは Mコードということなんですね。相互依存関係にあるクエリも含めた Mコード一式がコピーされます。

メモ帳やエディターなどに貼り付けて編集してから貼り付けることも可能ですし、別に起動している クエリ エディターにペーストすることも可能です。

空のクエリを作成する必要もなく、Mコードをリストの空白部分に直接貼り付ければクエリが作成されます。

Excel ワークブック自体をコピーするのもあり

最後に、Excel ワークブック自体をコピー(複製)して改造するのもおすすめです。

特に、テーブルの値をパラメーターとして使っている場合などではこの方法でないと面倒ですね。

クエリだけでなく、参照しているテーブルも一緒にコピーするか作成する必要があるからです。

スポンサーリンク

まとめ(おわりに)

以上、クエリの [コピー] &ペーストと [複製] [参照] について勉強しました。
最後に、内容を比較表にしてまとめておきましょう。

種類COPY&PASTE複製参照
動作
内容
コピー元クエリと依存関係に
にある全てのクエリが一緒に
コピーされる
複製元と同じ内容のクエリ
を新規に作成する(クエリ
単体でのコピペと同じ結果)
元クエリの結果を参照する
クエリ
を新規に作成する
貼付
け先
任意の場所(別ブックの
クエリでもOK)
同ブッククエリ
(同グループ)内に作成
別グループへ移動は可能
同ブッククエリ
(同グループ)内に作成
別グループへ移動は可能
元クエリ
の変更
影響を受けない影響を受けない影響を受ける
ステップ依存関係も含め)全ての
ステップがコピーされる
全てのステップが
複製される
(元クエリがソースの)
ソースステップのみ作成
Mコード依存関係も含め)全ての
Mコードがコピーされる
複製した時点の参照元
クエリと同じMコード
let
 ソース = 参照元クエリ
in
 ソース

クエリを活用する目的にあわせて、この3つの違いをうまく使い分けしましょう(^^)/

まとめと感想など

くるみこ
くるみこ

Power Query でクエリの複製について勉強しました。それぞれの特徴をよく理解して有効活用するようにしてくださいね。

バックアップのためにコピーを作成するという考え方と同じですよね。
バックアップがあると思えば、安心していろいろなケースを試すことができますから、もっともっと活用するようにしようと思いました(^^)

【今回わかったことは】
・クエリの [コピー] &ペーストと [複製] [参照] の違いがわかりました
・[コピー] &ペーストと [複製] [参照] の使いどころがわかりました

★★★ ランキング参加中! クリックしてね(^^)/ ★★★

【今後の記事について】

今回の記事はいかがだったでしょうか。皆さまのお役に立てたなら幸いです(^^;
「汎用でだれでも使えて活用できるように考えてる」というポリシーで、記事を継続して書いていきたいと思っています。どうぞよろしくお願いしますm(_ _)m

【検討中の今後の記事内容は・・・・・】
・実務に役立つものを提供できるよう常に検討しています(^^ゞ
・その他雑記的に「プチネタなど」もいろいろ考えていきたいと思います・・・・・
・今後の記事にご期待ください(^^)/

各記事のサンプルファイルをダウンロードできます

今回記事はサンプルファイルの登録はありません
過去の記事で使用したサンプルファイルをダウンロードできるようにページを設置していますので、こちら(このリンク先)からご利用ください