クエリを右クリックしたときに出てくる「複製」と「参照」そして「コピー」、この3つは何が違うのか?と不思議に思ったことはありませんか?
このブログでは、中級編/クエリのマージの解説の中で「参照」の方は登場しました
では、複製はどのような時に使用するのでしょうか?
そしてコピーは?
上の3つはどちらもある種、一度作成してある「既存クエリ」のコピーです
但し、この3つには明確な違いがあります
この3つの違いをきちんと理解しておくと「既存クエリ」の活用の仕方がかなり効率的になります!
この「複製」と「参照」の違いを理解し易くするため、次の画像のデータから「元クエリ」*という名前のクエリを事前に作成します
*コピーは別のクエリで解説します
「元クエリ」はPower Queryエディタ(以降エディタ)にて、次の画像のように「トラック」でフィルターをかけています
ですから、適用したステップは次の画像のように3つになります
ではこの「元クエリ」を元にして「複製」と「参照」の違いを解説します
コピーについては、前述のように別のクエリで解説します
目次
1.複製
2.参照
3.コピー
<まとめ>
1.複製
では「元クエリ」の上で右クリックして「複製」を行います
開いたエディタで「適用したステップ」を確認します
適用したステップは3つあり、「元クエリ」と変わりません
ですので、上の画像の最後のステップを修正して、フィルターを「トラック」から「軽自動車」に変えることもできます
元のクエリを一部変えるだけで活用したい場合には「複製」するのが便利です
2.参照
では今度は、参照を行います
開いたエディタの適用したステップを確認します
上の画像のように適用したステップには最初のステップだけです
つまり、データソースとして参照元の最終ステップを参照しています
上の図は参照したクエリですが、既に「トラック」でフィルターされています
後、数式バーにははっきり参照元が「元クエリ」となっています
既存のクエリをそのまま活用していきたい場合には「参照」が便利です
3.コピー
最後にコピーについて解説します
コピーについては、違うクエリで解説します
上の画像の「売上集計」クエリは、「商品台帳クエリ」「売上台帳クエリ」などのクエリと依存関係(他のクエリをマージ)になっています
他のクエリと依存関係になっているクエリをコピーして貼り付けると、依存関係にあるクエリも下の図のように一緒にコピーされます
依存関係にあるクエリがなければ、前述の複製と機能は同じです
<まとめ>
今回は、「複製」と「参照」そして「コピー」の違いについて解説しました
両方ともクエリをある種「コピー」するという点では一緒です
違うのはコピーされるステップです
複製 ⇒最後のステップまでコピー
参照 ⇒参照元の最終ステップをデータソースとして参照
コピー⇒依存関係(マージされている)にあるクエリがあれば、そちらもコピー
この3つの違いを意識しながら、既存クエリを活用する目的にあわせてうまく使い分けしましょう!
今回は以上です!
最後までこの記事をお読み下さり、誠にありがとうございました!
Excel 複数シートを VSTAC関数で1つのシートにまとめたのですが、本来空白の項目が0で取り込まれる。列選択で
値の置換で0を空白に変え、すべて空白行が全て0が入っている
行を削除して、データ記述項目だけにすることが出来たので、
データの取得変換の中のテーブルまたは範囲を選択してクエリに取り込むとデータ項目全てNULLとなり、入力しているデータが見れなくなる。その時クエリの左側に全データを見ると
「Expression.SyntaxError: トークン Eof が必要です」エラーメッセージが出ている。元データを取り込む方法を教えて頂きたい。
頂いた文章だと詳細が分からないのですが、スピル関数(1つのセルで複数出力)で出力したデータだと、そもそもPower Queryの対象にならないようです。ですので、文章内の「元データ」というのがスピル関数で出力したデータだとPower Queryには取り込めません。
Power Queryで取り込む方法が2点見つかりました
いずれもVSTACK関数を使用した箇所でテーブル変換は行いません
1.ファイルを保存し、データソースを保存したファイル自体にします。これでVSTACK関数を指定したSheetを選択します
2.VSTACK関数が入力してあるセルが「A1」だとしたら、A1#に名前を付けます。これでどこかダミーでテーブルに変換してパワークエリに取り込みます⇒Power Queryエディタでソースの数式が= Excel.CurrentWorkbook(){[Name=”テーブル名”]}[Content]となります⇒こちらのテーブル名を名前に変えます
以上です
よろしくお願いします