タグ別アーカイブ: Power Query

「例からの列」による桁数が規則列への対応~上級12回目~

こんにちは、Excellent仕事術のガッツ鶴岡(@atsushi1039)です

前回は「例からの列」のメニューを使用して、変換パターンを1つ自作しました

 こちらは1つ例を示して、氏名から「姓」だけ、もしくは「名前」だけを分解する変換パターンでした

下の画像が、変換前の氏名でした

そして「例からの列」機能を使い、上の画像を下の様に分解しました

 では、今回は変換内容の2つの例示を通じ、作成したい変換パターンをPower Queryに汲み取らせた上で、変換パターンを確定する方法を紹介します

この「2つの例示を行うパターン」が使いこなせるようになると、列のデータが不規則でも、ノーコードにてデータ成型が一括で行えるようになります

解説に使うデータは前回と同じです

1.桁数が不規則な列を揃える

今回変換するのは、下の画像の「部門」の列です

こちらは部門コードが4~5桁になっており、桁数が不揃いになっています

この部門コードを3桁で統一します

まずは、例示の1回目を行います

1行目の「ABC1」を「ABC」にて例示すると下の図のようになります

やりたいことは列全体を3桁に揃えることでしたが、3桁になったのは例示した行も含めて2行だけでした

・ABC1 ➡ABC

・ABC10 ➡ABC

他の行は次のような状態です(一部省略)

・BBC2 ➡BBC2

・ABB33➡ABB33

全く変化が起こっていませんので、画面左上の変換式をチェックしてみます

要は「1」の前の文字を切り取る変換式が出来ていました

では、次に下のGIF画像のように「1」を含まない行にて、2つ目の例示を行いましょう

2つ目の例示を追加したら、全て3桁に揃いました

では、変換式を確認してみましょう!

「Text.Start([部門],3)」となっています

こちらは、「部門」の列の各行の文字から3文字を左から切り取ったという意味になります

つまり、2つの例示を通じて「3桁」にしたいという意図をPower Queryが汲み取った形になっています

2.計算

あまり使う機会がないかもしれませんが、「列」と「列」の計算もこの「例からの列」で行えます

「単価」と「個数」を乗じた計算結果を2つ例示してみます

今回は、1行目と2行の計算結果、1800x 7 = 「12600」と3800 x 3 = 「11400」を入力してみます

すると、2つの計算結果を汲み取ってくれて、列の全行に計算結果を入力してくれます

<まとめ>

 今回は複数の例示から、変換パターンを汲み取らせて変換するパターンを行いました

 前回の冒頭にも紹介しましたが、複数の列を組み合わせて「文章」も作成することもできます

 但し、大量のデータがある場合には、変換ミスが起こっていても気づかないケースもありうります

なるべく複雑な変換は行わないようにしましょう!

そして、画面左にある「変換式」はなるべくチェックするようにしましょう!

最後に、参考までに今回の解説で使用したデータと完成版を添付します!

次回は、エディタを開かないまま「データソース」を変更する処理を解説します

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


にほんブログ村

エディタを開かずにソース変更処理~上級13回

パワークエリは便利ですが、エディタを開かないとクエリの内容を変更できないのが不便です

パワークエリには「パラメーター」という機能があります

「パラメーター」を活用できるようになると、エディタを開かないままで様々な変更が可能になります

 この回では、パラメーターの概念を活用して「エディタを開かないまま様々な変更を可能にする」簡単な事例について解説します

では今回解説する内容の概要を解説します

今、次の画像の黄色く印を付けたファイルからデータを取得しているとします

データを取得するファイルを変更しようとしたら、2種類の方法があります

 エディタのデータソース変更、もしくは、次の画像の箇所(適用したステップは”ソース”の箇所)を変更することです

この回では、上の画像にある変更処理をエディタを開かないまま「パラメーター」の仕組みを使って変更します

目次

1.パラメーターの設定

2.パラメーターの反映

<まとめ>

1.パラメーターの設定

ホームタブから「パラメーターの管理」⇒「新しいパラメーター」をクリックします

すると、次の画面が開きます

こちらの画面では、次の3つを指定します

・パラメーターの名前

・種類➡データ形式を選択します

・現在の値➡データソースとなるファイル名を指定します

上の3つの指定が終了したら、読込処理を行います

2.パラメーターの反映

続きを読む エディタを開かずにソース変更処理~上級13回

シート上からデータソースを変更する方法~上級編14回目

 Power Queryのクエリと連携するファイルを、まるでスマホを操作するかのように簡単に変更できたらいいですよね!

 Power Queryはとても便利なのですが、エディタを開かないと変更ができないのが少々面倒です

前回は「パラメーターの管理」の画面から変更をかける方法を解説しました

 今回は、エディタを完全に開かずに、クエリのデータソース(データ取得元)を下のGIF画像のようにセルの値をもとにして変更する方法を解説します

まず今回のポイントを2点だけ解説します

目次

今回のポイント

1.セルに名前を付ける

2.データソースの確認(ファイルの取得)

3.名前の組み入れ

4.コードの修正

<まとめ>

今回のポイント

A.名前の活用

今回使うデータは、フォルダ名とファイル名がリスト化されています

リスト化されている2つのセルは、左のセルで名前をつけます

B.M言語の使用

 要はコードを書くということなのですが、後で添付するテキストをコピペして使い回した方が効率的です 

A.にて名前を付けたセルの値は可変です

こちらの名前を、「ファイルデータを取得するクエリ内」のコードの中に組み入れます

使用する画面は、過去の記事でオリジナル関数を作成した画面と一緒です

名前を通じて、セルの値を間接的にコードの中に組み込む形にするということになります(例:名前:フォルダ名➡コード:FilePath➡FilePathをデータソースの中のコードへ組み込み)

 では、下の画像のフォルダ内のファイルから「データを取得するクエリ/クエリ名:Dataが既に存在する」という前提にて本格的な解説をはじめます

 上の画像では、フォルダ名が「Folder1」となっていますが「Folder2」も別途存在するものとして解説を行います

1.セルに名前を付ける

ポイントA.でも前述したように、可変のセルに名前を付けます

まず、名前を付ける範囲をカーソルで指定します

名前を付けるのはセルの値に対してですが、名前自体もセルから抽出するので「2行2列」をカーソルで指定します

次に下の図の、黄色の各箇所をクリックします

後は、OKボタンを押せば2つの箇所に名前が設定されています

続きを読む シート上からデータソースを変更する方法~上級編14回目

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

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

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

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

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

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

4.クエリの一括削除

5.依存関係

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

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

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

5.依存関係

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

元データ

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

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

解説対象のクエリ

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

クエリの編集

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

クエリの依存関係

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

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

依存関係

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

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

①商品台帳クエリ

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

依存関係

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

②売上台帳クエリ

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

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

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

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

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

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

商品台帳クエリ

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

クエリのコピー

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

クエリの貼り付け

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

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

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

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

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

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

Power Queryって何??11~ユニークな数の集計~

今回は、Power Queryならではの集計処理について1点だけ紹介します

ある列に存在する文字列、もしくは値のユニークな数を集計するのは面倒ですよね

上の画像内の「商品コード」を例に取れば

「商品コードが10001、10002・・・10006は4つあるので1個にカウントして、全部で6個あります」

と目で数える人はさすがにいないとは思いますが、関数を使ったとしても、複数回の処理ステップが必要ですよね

ところが、Power Queryでは直観的にクリック操作していけば、このユニークな数を集計できます

解説には上の図にある表を使用します

目次

1.Power Queryエディターを起動

2.「統計」タブの「個別の値のカウント」をクリック

1.Power Queryエディターを起動

2.「統計」タブの「個別の値のカウント」をクリック

①変換タブに移動

Power Queryエディターが起動したら、変換タブに移動します

続きを読む Power Queryって何??11~ユニークな数の集計~

Power Queryって何?~ピボット解除(縦横並び替え)と入れ替えの違い~

Power Queryの魅力の一つに、 行列の縦横の並び替えを自動で変更できること
ピボット解除) が挙げられます

 業務でデータ成型(データクレンジング)を行う人は絶対に覚えておくべき技術です

もし、手動で縦横の並びを変えるとなると、相当な手間です

ここで疑問を持つ人がいるかもしれません

「縦横の並び替え(ピボット解除)」と「行列の入れ替え」はどう違うのか?

この2つは似て異なるものです

この2つの処理が、具体的にどう違うのかを明確に理解した上で、ピボット解除を使いこなせるようになると、Power Queryをより実践的に使えるようになります

2つの処理の違いを実際の例で確かめてみましょう!

とちらもこの表からスタートします

1.ピボット解除

①テーブルまたは範囲からデータ取得

上の表をまず、「テーブルまたは範囲から」を指定し、エディター画面に呼び出します

②ピボット解除

エディター画面で一番左の列にカーソルを置き、右クリックします

すると、「その他の列のピボット解除」が選択できるようになっています

こちらをクリックしましょう!

こちらをクリックすると、一番左の列を軸にして、他の列を回転させるということになります

2.行列入れ替え

今度は、「行列の入れ替え」を行ってみましょう

明らかに、1.のピボット解除とは結果が違っていますよね

では、1.ピボット解除と2.行列の入れ替えをエクセルシート上に読込んで比較してみましょう

ピボット解除は元のデータを縦(ABC)横(123)並びから、縦(AAA)縦(123)の並びに変えています

一方、行列入れ替えは 元のデータを縦(ABC)横(123) 並びから、横(ABC)縦(123)⇒横にずれて縦(456)の並びに変えています

ピボット解除と行列の入れ替え、似ているようで異なるものです

2つの処理から出たデータを並べると、違いが明確になったと思います

今回は以上です

最後まで記事を読んで下さり、誠にありがとうございます

Power Query講座も連載していますので、こちらも参考になれば幸いです

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

にほんブログ村

複数データの組み合わせ/クエリのマージ~中級編1回目~

今回から、中級編をはじめます

初級編では、データを取得してエクセルシートに読み込むだけでした

中級編では、取得したデータを編集・加工していきます

このデータ編集・加工手法を身に付ければ、様々な箇所から集めた大量のデータを関数やVBAを使わないでも、サクッと一括処理ができるようになります!

次回から2回は、関数やVBAを使用した場合には作成に手間がかかりそうな表を サクッと2つの表を組み合わせるだけで作成する方法を紹介します

今回は、次の回から主に使用する技術の概要だけ紹介しておきます

1.クエリのマージ

イメージとしては下の図のようなことを行います

関数で言えば、VLOOKUP関数も同じような事ができますが、このPower Queryのマージには、VLOOKUP関数で処理する時と比べて次のようなメリットがあります

・他の表から抽出する項目が多く、データ自体が大量な場合

 ⇒ワンクリックで処理できる

・VLOOKUP関数の場合は参照する値の位置が左にないと使用できなかった

 ⇒位置は関係なく処理できる

ちなみに、Power Queryにて実際にマージを行う画面は、以下の画面になります

2.計算処理

Power Query上では、2つの表を組み合わせた上での計算処理が、とても簡単に行えます

計算処理がもし±X÷を行う四則演算であれば、対象となる列を指定するだけで計算処理が行えます

SUMIFやSUMIFSなどの、関数であれば条件設定が伴う、少しややこしい計算も、下の図のような画面にて、直感的に計算処理が行えるようになっています

では次回から2回に分けて、1.クエリのマージ、2.計算処理を中心に解説を行って行きます!

https://analytic-vba.com/power-query/intermediate/merge-query/
にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ

にほんブログ村

クエリのマージ/項目追加~中級編2回目~

中級編2回目は前回紹介したマージの技術を、実際にサンプルを使用して解説を行います

下の図にある商品台帳売上台帳が解説に使用するデータです

こちらの表2つを組み合わせる(マージする)ことにより、2つの表に分かれていた項目を組み合わせて活用できるようにします

下の図のように、売上台帳に商品台帳の「商品名」と「販売単価」を追加します

今回のポイント

A.キー列を設定します

2つの表を組み合わせるためのキー列を指定します

B.組みあせる項目、組み合わせ方を選択します

下記の画面で組み合わせる項目と組み合わせ方を指定します

上の図に”集計”とありますが、集計については次回に解説します

では早速、下記にサンプルファイルをダウンロードして演習をすすめていきましょう!

1.クエリ作成

商品台帳と売上台帳ともに、次の①~③の処理を行い、クエリを作成しておきます

①Power Query Editorを開く

データタブから”テーブルまたは範囲から”を指定して、Power Query Editorを開きます

範囲を指定する際、自動的に題名の部分(下の図であれば商品台帳)がテーブルの見出しとして範囲に入ってしまうケースがあります

こちらについては、題名部分を除いて範囲を指定し直してください

②Power Query Editor上の処理

Power Query Editorの画面右にて、クエリに名前をつけましょう!

マージ処理をする時にクエリー名が分かり易くつけてあると、処理がとても進めやすいです

③読込処理

ホームタブの右上の「閉じて読み込む」ボタンの右に▼マークがあるので、こちらをクリックしてください

すると、次の画面のように「閉じて次に読込む」ボタンが出てきますので、こちらをクリックします

そうすればデータのインポート画面が開くので、読込先を指定できるようになります

下の図のようにデータのインポート画面が開いたら、読込先は”接続の作成のみ”を指定してください

ここまで行えば、クエリが画面右に出来ています!

上の①~③の処理を通じて2つのクエリを作成したら、2.のマージ作業に移ります

2.マージ作業

2つのクエリをマージする場合、事前に2つの方法が選択できます

ⅰ)既存のクエリにマージする方法

ⅱ)新規にマージ用のクエリを作成する方法

今回はⅱ)で行います

➀売上台帳クエリを参照

新規にクエリを作成するといっても、全く一からクエリを作成するわけではありません

売上台帳クエリを基にして新規のクエリを作成します

まずは、売上台帳クエリ上にカーソルを置いて右クリックし、更に”参照”をクリックします

「参照」をクリックしたら、Power Query Editorが開きます!

➁クエリのマージをクリック

新しいクエリのクエリ名は、次の画面のように変更しておきましょう!

③クエリのマージ

次に画面上にある、「クエリのマージ」ボタンをクリックします

④マージするテーブルを指定

マージをクリックした後に、新規に次のGIFにあるように「マージ」方法を指定する画面が立ち上がります

この画面では マージするテーブルとキー列を次のように指定します

テーブル⇒商品台帳、キー列⇒商品コード

⑤マージする項目、方法を指定

④が終了すると下記の画像のように、商品台帳の内容が一番右の列に追加されます

次に、商品台帳の右横にあるマーク(2つの矢印の組み合わせたマーク)をクリックし、実際に組み合わせる項目と組み合わせ方法を指定します

上のGIFのように、マークをクリックした段階では全てにチェックが入っています

ここでは商品名と販売単価はチェックを入れたままにしましょう!

「元の列名をプレフィックスとして使用します」についてはチェックを外しましょう

チェックを入れたままだと下の図のように、余計な名前(商品台帳)が商品名と販売単価の左横に表示されるようになってしまいます

⑥読込処理

今回は”閉じて読み込む”を指定し、接続の作成のみでなく、実際にシートに読み込みます

これでマージ処理は完成です!

<まとめ>

はじめてのマージ処理はいかがだっだでしょうか?

2つの表を組み合わせるにあたり、VLOOKUP関数を2つの列 (商品名、販売単価 で作成する)よりずっと簡単だったのではないでしょうか?

もし、”しまった、他の項目も追加が必要だった”ということになっても、関数を追加したりしなくても、簡単に追加が行えます

具体的な方法については次回、詳細に解説します

次回は単に項目の組み合わせだけでなく、計算処理も行います!

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

にほんブログ村
</a

Power Queryって何8???~PDFファイルをエクセルに変換~

こんにちは、Excellent仕事術ガッツ鶴岡です

この記事は、Power Queryというエクセルのスゴイ新機能をまだ知らない人向けに書いている記事です

「エクセルで大量のデータを扱っているけど、何とか作業を効率化したい」

「エクセルをぜひ得意分野にしたい」

という方はぜひページの最後までお付き合いください

ところで、読者の皆さんは、スマホを初めて操作した時にどんな印象をもちましたでしょうか?

「ネットでレストランを見つけてそのまま予約電話ができる!!」

「直観的で操作が分かり易い」

筆者はPower Queryを登場した時には同じぐらい、いや、それ以上の衝撃を受けました

今回は筆者が衝撃を受けたPower Queryの機能の一つ、PDFファイル内のデータをエクセルファイルにダウンロードする方法を、簡単に紹介していきたいと思います

ちなみに今回、紹介する内容は、今までPower Queryを使ったことが無い人でも取り組める内容になっています

本題に入る前に、サンプルで使用するPDFの中味について紹介させてください

サンプルのPDFファイルは2ページに分かれており、以下のように2ページ内に3つの表があります

・1ページ目⇒2つの表データ

・2ページ目⇒1つの表データ

今回の解説では、PDFファイルのデータをまるごとエクセルシートにダウンロード(読込)するのではなく、ファイル内の3つの表をそれぞれ3つのエクセルシートにダウンロードします!

それでは、本格的な操作について解説を始めます

解説に使用するPDFファイルはぜひ、事前にダウンロードしておいてください

目次

1.PDFファイルを指定

2.読込む対象データを指定

3.ダウンロード

4.「PDFから」のボタンが無い場合

<まとめ>

1.PDFファイルを指定

データタブの「データ取得」から「ファイルから」⇒「PDFから」を指定します

次にファイル自体を指定します

取得するファイルを指定すると、2.で解説する「ナビゲーター画面」が開きます

(注)もし、「PDFから」のボタンが無い場合

        ➡4.「PDFから」のボタンが無い場合

2.読込む対象データを指定

PDFのデータをPower Queryで取得する場合には、2つの方法を選択できます

・PDFのページ全部を取得する

・ページ内のテーブルデータ(表データ)を取得する

上の2つの方法の選択は、取得するファイルを指定した後に開く、この「ナビゲーター画面」で行います

ナビゲーター画面では、ページ単位やテーブルデータ単位にて、取得するものを取捨選択することもできます

ナビゲーター画面では、左側にリストで表示される各Table(テーブルデータ)、もしくは各ページの内容を、下のGIFのように確認することができます

実際に取得する内容を決めたら、ナビゲーター画面の左上「複数のアイテムの選択」にチェックを入れた上で、取得対象にもチェックを入れます

今回の解説では、下の画像のように3つのTable(表データ)にチェックを入れます

3.ダウンロード

取得対象データをナビゲーター画面で3つ指定しましたので、今度はダウンロード先を指定します

ナビゲーター画面下の「読み込みボタン」の横にある▼ボタンをクリックし、クリック後に表示された「読み込み先」のテキストをクリックします

「読み込み先」のテキストをクリックした後は実際の読込先、つまりダウンロード先を指定する画面が開きます

この解説では、読込先を指定する画面にて「テーブル」「新規ワークシート」の2つを指定します

この読込先の指定については、詳細な内容を解説した記事がありますので、そちらを参照してください

読込先として既存シートに読込を行ったり、ピボットテーブルで出力することも可能です

ここまで行えば、PDF内にあった3つの表データが下のGIFのように、3つのエクセルシートに分かれてダウンロードされています

ちなみに画面右に「クエリ」というものが3つできていますが、これはスマホ内のブックマークのようなものだと思ってください

4.「PDFから」のボタンが無い場合

バージョンによっては「PDFから」のボタンが出てきません

続きを読む Power Queryって何8???~PDFファイルをエクセルに変換~

クエリの追加・結合~中級編5回目~

こんにちは、Excellent仕事術ガッツ鶴岡です

前回は1月と2月のデータを追加して新たなクエリを作成しました

そして、新たに作成したクエリからピボットテーブルを作成しました

今回は前回作成したクエリに、更に3月のデータを追加します

この時、ピボットテーブルのデータ範囲変更や、新たに追加された範囲を反映するための更新処理を、Power Queryとの連携により省けるようにします!

もし、これまでPower Queryについては全く知識が無い、という読者の方がいらっしゃいましたら、ぜひ、このページを事前にご確認ください

エクセルシート上の表を⇒テーブル⇒クエリ⇒シート上に読込、の順に変換することさえ分かれば、この後の内容も十分理解していけるはずです!

今回のポイント

前回は以下の図で➀の方法でクエリの追加(1月+2月)を行いました

今回は①の方法で作成したクエリを編集して、②の方法で3月のデータを追加します

仮に➀の方法で追加処理を行うと、既存のピボットテーブルの範囲外に新たに新たなクエリ(1月+2月+3月)ができてしまい、ピボットテーブルの範囲指定や更新処理を行う必要がでてきてしまいます

では、本格的な解説をはじめます

1.売上データクエリ(1月+2月)上で編集をクリック

Power Queryエディターを開きます

2.Power Editorエディター上で”クエリーの追加”をクリック

Power Queryエディター上で”クエリの追加”をクリックします

3.追加画面で追加するデータを指定する

追加するデータをクリックしたらOKボタンを押します

追加が終了したら”閉じて読み込む”をクリックしましょう!

すでにピボットテーブルに3月のデータが自動的に追加されています

<まとめ>

 Power Queryとピボットテーブルを今回の解説のように、事前に連携させておけば、ピボットテーブルの範囲指定の追加や変更はとてもスムースになります。

 毎月、定期的に売上などのレポートを作成している人にはとても便利な技術なのではないでしょうか?

 ピボットテーブルについては、毎回の報告を楽にするために「ピボットテーブルの役割を変える」と題して別途、記事を書いています

興味があるという方がいたらそちらの記事もぜひご覧になってください

 中級編1~5回では複数のクエリを扱う方法を解説しました。次回からはまた違うテーマを解説していきます

 

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

にほんブログ村