タグ別アーカイブ: データ整理

「例からの列」にて変換パターン自作~上級11回目~

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

今回は、新たなタイプの変換処理について解説します

これまでの変換処理は、予めメニュ―に設定された内容での変換処理でした

 今回紹介する変換処理は予め、ユーザー自身で変換パターン(及び作成パターン)を作成します

パターン作成➡パターン反映の流れ

 上のGIF画像では、左の2列から「例1」の列で3つの変換パターンが例示により作成されています

・「氏名」⇒氏名から「姓」を抜き取り

・「個数」⇒整数を抜き取り

・「姓」と「整数」から【「姓」さんは「整数」個販売】のテキスト作成

この機能を利用すれば、様々な処理に応用できそうですね!

この機能について、2回に分けて解説を行って行きます

まずは、今回の変換処理のポイントを2点だけ解説します

A.変換パターン作成及びパターン反映画面

「列の追加タブ」⇒「例からの列」メニューから処理を行いますが、通常の処理と画面構成が違います

新たな列が、テーブルから離れた場所に追加されてからの変換処理になります

B.例としてのパターン作成

 変換パターンの例示は、1度で済む場合と2度以上の例示が必要になるケースとに分かれます

 1度目に例示する場合も、2度目に例示する場合も、例示する場所はどこでも大丈夫です

 それでは、次の画像のデータをテーブル化し、Power Queryエディターで開いたところから解説を始めます

1.「例からの列」

 前述のように「列の追加タブ」の「例からの列」を指定するのですが、2種類の変換タイプを選択できます

 今回は、複数の列を扱うので「すべての列から」を選択して、すべての列を変換対象にします

すると前述のように、新たな列が画面右に設定されます

2.記号で文字を変更するパターン

ここから、具体的な処理の解説になります

下の図の「氏名」列から姓だけを切り取った列を作成します

右側に出来た「列1」の1番上に「吉永」と入力します

この時に、「吉永」と最初から入力する必要はありません

下の画像では分かりにくいですが、カーソルを当てると入力候補が出てきます

該当の箇所にカーソルを置き直し、エンターキーを押すと下の図のように反映されます

この時、既に列の上の名前が変わり、左の「氏名」の列の内容がコピーされています

では、上の画像の状態から名前を消去して変換パターンの例示を行うと、次の画像のように列全体に姓の文字だけが残ります

ちなみに、例示に基づいて変換が行われると「変換式」が左上に作成されます

では、逆に姓ではなく名前だけ残したら、この「変換式」はどうなるでしょう?

つまり、空白の後を切り取っている内容になっています

以降の解説でも、この変換式は活用します

では、変換が終わったので、元のテーブルに変換した内容を追加します

ショートカットキー:Ctrl+Enterで追加処理は行えます

<まとめ>

今回は、まずは記号で文字を変換するパターンを解説しました

 「列の追加タブ」から「例からの列」をクリックした後の画面が通常のPower Queryエディターの画面と違いました

 テーブルと離れた箇所に列が追加され、追加された列の上で変換処理(作成処理)を行いました

 変換処理(作成処理)が終了したら、ショートカットキー:Ctrl+Enterにて元のテーブルに新たに作成した列を追加しました

 では、次回は冒頭に解説したように、2度の変換パターンを例示するパターンも合わせて解説します

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


にほんブログ村

ピボット解除/縦横並びの変換処理~中級編6回目

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

前回までは複数のクエリ(データ)を組み合わせる技術を解説しました

今回からは、Power Query Editor上でデータを変換する技術を解説していきます

ところで、題名にあるPivotはどう意 味かご存知でしょうか?

ちなみに辞書には軸とか、旋回と書いてありました

この回を終了した時には、”Pivot”の意味が納得できるようになっていると思います

<今回のポイント>

A.集計の目的とデータの並べ方の関係

下の2つのデータを見比べてください

①は縦に繰り返し並んでいます。一方、②は、①の2つの目の列が横に“旋回”して並んでいます

どちらが集計しやすいと思いますでしょうか?

全体の合計値を出す場合、①は1列を範囲にしてSUM関数を入力すれば算出できます

一方、②は見出し以外の全ての行列を範囲に含めてSUM関数を入力するしかありません

①と②のデータで「アルファベット」と「ひらがな」別、つまり2つの切り口を組み合わせて合計値を集計する場合も考えてみましょう

①はフィルターをかけて、ひらがなの列だけみれば合計値を集計できます

②の場合には、目で列を追いかけながら集計するしかありません

ですので、「データはあらゆる切り口でデータ集計が行えるようにする」、ということであれば、縦方向に繰り返し並べていくべきなのです

B.Power Query上での操作

Power Queryでは、Power Query Editor上で、横に旋回しているデータを縦の並びに切り替え、集計を行い易い形にてデータを出力し直すことができます

その際、旋回させる軸を決めるのと同時に、以下のサンプルデータの合計の行列(Total)を削除します

この合計の値を消して、その後はどのようにに合計値を算出していくかについては後述します

では、実際のサンプルデータを基にして解説をはじめます

1.Power Query Editorを立ち上げる

データタブの「テーブルまたは範囲から」をクリックし、Power Query Editorを立ち上げます

この際、8行目のTotalの範囲が入るように気を付けましょう!

こちらは前述のように、Power Query Editor上で削除を行います

2.合計行列を消去する

Power Query Editorが開いたら次の①②の処理を行い、「 B.Power Query上での操作」で前述したようにTotalの行列を削除します

①フィルターからTotal行を消去する

-フィルターをクリックします

-チェックを外して一覧からTotalを消します

➁Total列を消去する

Total列を指定し、削除をクリックします

3.Pivot解除

ではPivot解除機能により、に旋回しているデータをの並びに切り替えます

①軸を指定します

今回は、に展開している日付を並びにします

ですので、一番左にあるカテゴリー列を左クリックして指定します

その後、右クリックすると可能な処理の一覧がでてきます

➁その他の列のピボット解除

①の一覧から「その他の列のピボット解除」をクリックします

これで、横に展開していたデータが縦並びになりました

4.読込先をピボットテーブルに指定する

Power Query Editorで縦並びにしたデータを「ピボットテーブル」としてエクセルシート上に読込みます

①閉じて次に読みこむを指定

ホームタブにて「閉じて読み込む」の右横▼マークから「閉じて次に読み込む」を指定します

➁ピボットテーブルの読込先を指定

ー「既存のワークシート」内の「元のデータの下」A11セルを指定しましょう!

-ピボットテーブルのフィールドを以下のように指定しましょう!

Power Query Editor上でTotalの行列は削除しましたが、ピボットテーブルでTotal(合計)が集計できるようになりました

逆に、もしPower Query Editor上でTotal行列を削除しなかったら、ピボットテーブル上で合計値が本来の値より2倍になってしまいます

<まとめ>

 このPivot解除を知っておけば、他の方から入手したデータが、横並びになっていなかったとしても、縦の並びに簡単に変えることができます

 データを縦の並びに変えておけば、様々な切り口でデータ集計がおこなえるようになりますので、ぜひ有効活用していきましょう!

 次回はセルの中のデータを複数列に分解する方法と今回解説したピボット解除を組み合わせた変換処理を行います

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

にほんブログ村 IT技術ブログ VBAへ

にほんブログ村