
今回は、各種クエリに関する処理について解説します
解説する処理内容は全部で5つになります
最後の依存関係は前述の1.~4.全てに関わります
この回で解説する依存関係とは、データソースやクエリのマージ(結合)のことになります
順序は逆になりますが、今回の事例として使用するファイルを解説する意味もありますので、5.の依存関係から解説を行います
5.依存関係
今回使用するファイルは、過去の記事でも使用したファイルです

この時には、商品台帳と売上台帳をマージして「売上金額クエリ」を作成し、売上金額を計算しました
では早速、「売上金額クエリ」の依存関係を見てみます

まず「売上金額クエリ」の上で右クリックして、Power Queryエディタ(以降、エディタ)を開きます

エディタが開いたら、表示タブをクリックします

すると、上の画像右の「クエリの依存関係」をクリックできるようになります
下の画像が、「クエリの依存関係」をクリックした時に開く画面です

上の図を見ると「売上金額クエリ」は①商品台帳クエリと②売上台帳クエリとマージしており、この2つのクエリに依存しているのが分かります
①と②についても、依存の状況は分かります
①商品台帳クエリ
このクエリは「e:\パワークエリ講座・・・」のフォルダにあるファイルからデータを取得しているのが分かります

この 「e:\パワークエリ講座・・・」の上にカーソルを置くと更に詳細が分かります

②売上台帳クエリ
売上台帳クエリは①の商品台帳クエリと違い、売上金額クエリが存在するファイル内からデータを取得していることが分かります

上の関係図にはないですが、売上台帳クエリは現在ブック内の「売上台帳テーブル」からデータを取得しています
ちなみに上の図に、「読み込まれていません」とありますが、こちらはクエリの読込先が「接続のみ」になっていることを表します
今回、事例とするクエリのことも解説したところで、前述の1.~4.についても解説を行って行きます
1.クエリを別ファイルにコピー
まず、商品台帳クエリを別ファイルにコピーします

商品台帳クエリ上で右クリックし、「コピー」をクリックします

そして、別ファイルで貼り付けます

では、他2つのクエリに依存している「売上金額クエリ」を別ファイルにコピーしてみます
すると下の図の通り、依存している2つのクエリも同時にコピーされます

売上台帳クエリは「現在のブック」内のテーブルを取得元にしています
別ファイルには、もちろん「売上台帳クエリ」の取得元になるテーブルはありませんので、売上台帳クエリはエラーになります
そして、「売上台帳クエリ」に依存している「売上金額クエリ」もエラーになります

2.クエリのバックアップ、復元
では冒頭で紹介した、「事例として使用するファイル内」にある「商品台帳クエリ」をバックアップします
次の図の「接続ファイルのエクスポート」をクリックします

するとクエリのバックアップ先を指定する画面が出ますので、そちらに保存処理を行います

バックアップの復元については、以下の画面で行います

こちらは、4.のクエリの一括削除を行った後に、追加で解説を行います
3.クエリの数が多い場合のグループ化
では、冒頭の事例として解説したファイルに戻ります
Ctrlキーを押しながら「商品台帳クエリ」「売上台帳クエリ」を選択します

そして、右クリックすると「グループ作成」を指定できます

作成するグループには「名前」をつけます

名前をOKボタンを押すと、「作成したグループ名」のグループと、それ以外のグループに分かれます

作成したグループを解除する時には、下の図の「グループ解除」をクリックします

クエリをグループ間で移動させたい時には、移動させるクエリを右クリックし、次の画像の黄色の箇所をクリックします

4.クエリの一括削除
引き続き3.で使用したファイルにて、クエリの削除を行います
「商品台帳クエリ」上にカーソルを置いて右クリックし、更に削除をクリックします

すると、「商品台帳クエリ」は「売上金額クエリ」に依存されているため、下の画像のようなメッセージが出て削除ができません

一方で、Ctrlキーを使用して、全てのクエリを指定して削除をすると「依存関係」自体も削除されるため、一括で削除されます

なおクエリが削除されて後も、クエリからシートに読込まれていたテーブルデータは削除されません

ちなみにCtrlキーを使用する方法の他にも、一括でクエリを削除する方法があります
まず「ファイルタブ」をクリックした後、情報タブをクリックします

更に「問題のチェック」の右下にある▼マークをクリックした後に、「ドキュメント検査」をクリックします

次に「ドキュメントの検査」が開くので、画面下の「検査」ボタンをクリックします

クエリがファイル内にあると、下の図のように「カスタムXMLデータが見つかりました。」とメッセージが出ます

「すべて削除」をクリックすると、すべてのクエリがファイルから削除されます

ファイル内のクエリが全て削除されたところで、2.でバックアップを取ったクエリを復元してみます
クエリの復元は、前述のようにデータタブにある「既存の接続」から行います

「既存の接続」をクリックした後に開いた画面の左下に「参照」があります

上の図の「参照」をクリックすると、バックアップしたクエリを指定できるようになります

クエリを復元する時には、下の図のように「データのインポート」画面が開きますので、こちらで読込先を指定します

<まとめ>
今回は、クエリの「依存関係」を含め、全部で5つの処理を解説しました
1.~4.の処理を行うに当たっては、必ず5.の「依存関係」は事前に確認しておきましょう
尚、1.のクエリのコピーについては、過去の記事で紹介した「複製」とはきちんと区別しておきましょう
クエリの複製の場合には、他ファイルにはコピーはできません
そして、複製の場合には1.のコピーとは違い「依存関係」があるクエリはコピーされません
ちなみに、1.のクエリのコピーした内容をテキストボックスに貼り付けると、詳細エディタの内容がコピーされます

今回は以上です
次回は、重要なデータ成型の仕方の一つ「文字列の抽出」について解説します
長文に最後までお付き合い頂き誠にありがとうございました


コメントを残す