タグ別アーカイブ: 削除

クエリのコピー・バックアップ・削除他~上級編16回

今回は、各種クエリに関する処理について解説します

解説する処理内容は全部で5つになります

1.クエリを別ファイルにコピー

2.クエリのバックアップ、復元

3.クエリの数が多い場合のグループ化

4.クエリの一括削除

5.依存関係

最後依存関係は前述の1.~4.全てに関わります

この回で解説する依存関係とは、データソースやクエリのマージ(結合)のことになります

 順序は逆になりますが、今回の事例として使用するファイルを解説する意味もありますので、5.依存関係から解説を行います

5.依存関係

今回使用するファイルは、過去の記事でも使用したファイルです

元データ

 この時には、商品台帳と売上台帳をマージして「売上金額クエリ」を作成し、売上金額を計算しました

では早速、「売上金額クエリ」の依存関係を見てみます

解説対象のクエリ

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

クエリの編集

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

クエリの依存関係

すると、上の画像右の「クエリの依存関係」をクリックできるようになります

下の画像が、「クエリの依存関係」をクリックした時に開く画面です

依存関係

上の図を見ると「売上金額クエリ」は①商品台帳クエリと②売上台帳クエリとマージしており、この2つのクエリに依存しているのが分かります

①と②についても、依存の状況は分かります

①商品台帳クエリ

このクエリは「e:\パワークエリ講座・・・」のフォルダにあるファイルからデータを取得しているのが分かります

依存関係

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

②売上台帳クエリ

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

 上の関係図にはないですが、売上台帳クエリは現在ブック内の「売上台帳テーブル」からデータを取得しています

 ちなみに上の図に、「読み込まれていません」とありますが、こちらはクエリの読込先が「接続のみ」になっていることを表します

 今回、事例とするクエリのことも解説したところで、前述の1.~4.についても解説を行って行きます

1.クエリを別ファイルにコピー

まず、商品台帳クエリを別ファイルにコピーします

商品台帳クエリ

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

クエリのコピー

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

クエリの貼り付け

では、他2つのクエリに依存している「売上金額クエリ」を別ファイルにコピーしてみます

すると下の図の通り、依存している2つのクエリも同時にコピーされます

売上台帳クエリは「現在のブック」内のテーブルを取得元にしています

別ファイルには、もちろん「売上台帳クエリ」の取得元になるテーブルはありませんので、売上台帳クエリはエラーになります

そして、「売上台帳クエリ」に依存している「売上金額クエリ」もエラーになります

以降は有料ページ/課金サービスへ

文字列から空白を取り除く_Power Query

文字列に空白が入っていて処理に困ったことってありませんか?

 そういったデータに限って、大量にデータ数があったりしますので、手動で処理するのは困難です

 Power Queryであれば直観的クリック操作により、一括で処理できるので、とても効率的です

今回、解説に使用するデータは次の画像のデータです

サンプルデータ

 上の画像の商品名の列にある文字は最大で3文字しかないように見えます

 実は空白文字が入ってるので、LEN関数で長さを測ると10文字あります

データを確認したので、これから本格的な解説を始めます!

1.PQエディターを立ち上げる

➀データ上にカーソルを置いて、データタブから”テーブルまたは範囲から”をクリックします

➁テーブル作成のポップアップが出たらOKをします

2.トリミングを行う(空白を排除)

Power Query Editorが立ち上がったら、事前にトリミングを行う列は選択しておきます

トリミングを行うのは次の画像の画面になります

では、トリミングを実行してみます

一見、全く変わりはありません

エクセルシートに読込んで、文字の長さをLEN関数で測ってみましょう

3.エディタの内容をシートに出力する

ホームタブにもどり、”閉じて読み込む”をクリックします

この時に、「長さ」の列は事前に削除しておきます


 シートに出力した文字列の長さを調べてみましょう!空白が取り除かれているはずです

トリミングを行った右側の「商品名」は空白が混ざっていないので、文字列が見た目通りの長さになっています

<まとめ>

 今回のように空白を取り除くなどの変換処理は、関数で処理するなどの方法より、Power Queryで行うほうが圧倒的に処理時間は早いです 

 Power Queryについては講座も行っていますので、ぜひご参照ください

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


にほんブログ村