クエリの複製、参照、そしてコピーとの違い~

 クエリを右クリックしたときに出てくる「複製」と「参照」そして「コピー」、この3つは何が違うのか?と不思議に思ったことはありませんか?

このブログでは、中級編/クエリのマージの解説の中で「参照」の方は登場しました

では、複製はどのような時に使用するのでしょうか?

そしてコピーは?

上の3つはどちらもある種、一度作成してある「既存クエリ」のコピーです

但し、この3つには明確な違いがあります

この3つの違いをきちんと理解しておくと「既存クエリ」の活用の仕方がかなり効率的になります!

*****Sponsered Link***** ************************

 この「複製」と「参照」の違いを理解し易くするため、次の画像のデータから「元クエリ」*という名前のクエリを事前に作成します

 *コピーは別のクエリで解説します

元データ

 「元クエリ」はPower Queryエディタ(以降エディタ)にて、次の画像のように「トラック」でフィルターをかけています

元クエリ

ですから、適用したステップは次の画像のように3つになります

適用したステップ

ではこの「元クエリ」を元にして「複製」と「参照」の違いを解説します

コピーについては、前述のように別のクエリで解説します

目次

1.複製

2.参照

3.コピー

<まとめ>

1.複製

では「元クエリ」の上で右クリックして「複製」を行います

元クエリ

開いたエディタで「適用したステップ」を確認します

適用したステップ

適用したステップは3つあり、「元クエリ」と変わりません

 ですので、上の画像の最後のステップを修正して、フィルターを「トラック」から「軽自動車」に変えることもできます

行のフィルター

元のクエリを一部変えるだけで活用したい場合には「複製」するのが便利です

2.参照

では今度は、参照を行います

元クエリ

開いたエディタの適用したステップを確認します

適用したステップ

上の画像のように適用したステップには最初のステップだけです

つまり、データソースとして参照元の最終ステップを参照しています

上の図は参照したクエリですが、既に「トラック」でフィルターされています

後、数式バーにははっきり参照元が「元クエリ」となっています

既存のクエリをそのまま活用していきたい場合には「参照」が便利です

3.コピー

最後にコピーについて解説します

コピーについては、違うクエリで解説します

 上の画像の「売上集計」クエリは、「商品台帳クエリ」「売上台帳クエリ」などのクエリと依存関係(他のクエリをマージ)になっています

 他のクエリと依存関係になっているクエリをコピーして貼り付けると、依存関係にあるクエリも下の図のように一緒にコピーされます

依存関係にあるクエリがなければ、前述の複製と機能は同じです

<まとめ>

今回は、「複製」と「参照」そして「コピー」の違いについて解説しました

両方ともクエリをある種「コピー」するという点では一緒です

違うのはコピーされるステップです

複製 最後のステップまでコピー

参照 ⇒参照元の最終ステップをデータソースとして参照 

コピー⇒依存関係(マージされている)にあるクエリがあれば、そちらもコピー

 この3つの違いを意識しながら、既存クエリを活用する目的にあわせてうまく使い分けしましょう!

今回は以上です!

最後までこの記事をお読み下さり、誠にありがとうございました!

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ


にほんブログ村

*****Sponsered Link***** ************************

「クエリの複製、参照、そしてコピーとの違い~」への3件のフィードバック

  1. Excel 複数シートを VSTAC関数で1つのシートにまとめたのですが、本来空白の項目が0で取り込まれる。列選択で
    値の置換で0を空白に変え、すべて空白行が全て0が入っている
    行を削除して、データ記述項目だけにすることが出来たので、
    データの取得変換の中のテーブルまたは範囲を選択してクエリに取り込むとデータ項目全てNULLとなり、入力しているデータが見れなくなる。その時クエリの左側に全データを見ると
     「Expression.SyntaxError: トークン Eof が必要です」エラーメッセージが出ている。元データを取り込む方法を教えて頂きたい。

    1. 頂いた文章だと詳細が分からないのですが、スピル関数(1つのセルで複数出力)で出力したデータだと、そもそもPower Queryの対象にならないようです。ですので、文章内の「元データ」というのがスピル関数で出力したデータだとPower Queryには取り込めません。

      1. Power Queryで取り込む方法が2点見つかりました
        いずれもVSTACK関数を使用した箇所でテーブル変換は行いません
        1.ファイルを保存し、データソースを保存したファイル自体にします。これでVSTACK関数を指定したSheetを選択します
        2.VSTACK関数が入力してあるセルが「A1」だとしたら、A1#に名前を付けます。これでどこかダミーでテーブルに変換してパワークエリに取り込みます⇒Power Queryエディタでソースの数式が= Excel.CurrentWorkbook(){[Name=”テーブル名”]}[Content]となります⇒こちらのテーブル名を名前に変えます
        以上です
        よろしくお願いします

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です