タグ別アーカイブ: ステップ

【Power Query豆知識】ちょっとしたM関数の書き方の工夫でステップ数を削減する方法

どうしてもクエリが長くなってしまい、後で見返しても内容がよくわからず困っているという声をよく聞きます

今回は、M関数の書き方を工夫してステップ数を削減する「ちょいテク」を紹介します

カスタム列の追加時

カスタム関数を追加した後に、形式を行うことがあります

下の画像では、上の画像のランク列をテキスト形式に変更しています

このやり方だと、形式変更のステップが追加されてしまいます

このケースの場合は、カスタム列を作成したステップに戻り、数式バーに一文を足します

足した一文はこちらです

,Text.Type

この一文を足すだけで、カスタム列の追加と形式変更(テキスト形式への変更)が同一ステップで行えます

では、整数形式に直す時にはどうコードを書くのか?

いちいちすべてコードを覚えておく必要はありません

下の画像は整数形式に直した時の数式バーの記述です

一度、整数形式に変更するステップを追加した後に「コードを把握」し、カスタム列の追加ステップを修正した後、形式変更のステップを削除すればいいのです

列の削除

ある列を削除した後に、別の列を削除したくなることはよくあります

この時は、最初に列を削除したステップに、2度目の内容を追加します

下の画像は1度目に列を削除した時の数式バーの内容です

こちらの波括弧:{}内に2度目に削除した列名を追加します

これで、2度目に列を削除したステップは不要となります

列名に空欄が入っている時は注意が必要です

この時は列名をコピーした方が早いです

<まとめ>

今回は、ちょっとした長いクエリを短くする工夫を紹介しました

今回の内容で一気にステップ数が減るわけではありません

ただ地道に工夫を積み上げると成果には確実につながりますので、ぜひ今回のような工夫を積み上げるようにしましょう

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

にほんブログ村

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

Power Queryのステップ数を減らす3つの工夫

 Power Queryの便利な点の一つは、「適用したステップ欄」に操作履歴が自動記録される点です

 ただ、後々のクエリの操作性を考えると「ステップ数」は少ない方がいいですよね?

今回は「ステップ数」を減らす工夫を3つ紹介します!

「変更された型」のステップを減らす

 こちらは、過去の記事でも同じような事を書いていますので、ぜひそちらもご参照ください

 Power Queryでは列のデータ型とヘッダーの自動検出により、「ソース」ステップの次に、必ず「変更された型」のステップが追加されます

 後、途中でステップを追加した際、下のGIF画像のように自動的に「変更された型」が自動追加されることもあります

 一方で、変換タブにはきちんと下の画像のように「変更された型/列のデータ型とヘッダーの自動検出」のステップを追加する機能があります

ですので、変更された型ステップは「自動追加」する必要は必ずしもありません

 クエリを読み込む前、もしくは必要になった箇所に「手動追加」すれば変更された型ステップは減らすことができます

 変更された型ステップの自動追加を止める処理は、エディタ内の下の画像の箇所から行います

 ファイルタブ➡オプションと設定 とクリックすると「クエリのオプション」がクリックできるようになります

 クエリのオプションが開いたら、下の画像のように「型の検出」から3つの選択行えるようになっています

 一番下の「非構造化ソースの列の型とヘッダーを検出しない」にチェックを入れると「変更された型」ステップの自動追加は行われないようになります

同じ処理をまとめて行う

仮に、下の画像のようなデータがあったとします

このデータ内で次のように4つの処理を行ったとします

①フィルター:部門の列で「東京」のみを選択

②列の名前変更:部門➡東京

③フィルター:受注金額の列で「150万以上」のみを選択

④列の名前変更:受注金額➡150万以上

すると、次の画像のように4つのステップが①~④の処理に応じて追加されます

4つのステップが追加された結果、エディタ内は次の画像のようになっています

では、前述の①~④の処理の順番を次のように変えてみます

1.フィルター:①と③

2.列の名前の変更:②と④

すると、ステップは4つでなく2つとなります

 このように、同じ種類の処理をまとめて行えば、ステップ数は減らすことができます

列名の変更

 エディタ内で処理を行った際に、自動的に名前が変更、もしくは追加されている時があります

 上のGIF画像では、列の分割処理を行った際に「部門.1」と「部門.2」という名前が自動的についています

この場合、数式バー内では新たに追加された「列名」は赤字になっています

 では、この追加された「部門.1」「部門.2」の列名を下の画像のようにそれぞれ「」「」に変更してみます

 すると、下の画像のように「名前が変更された列」が適用したステップ欄に追加されています

 このステップについては、数式バーで直接、前述赤字 部分を変更することで減らすことができます

 数式バーで名前を直接・変更すれば、下の画像のように「位置によって分割された列」のステップの後のステップは消えています

<まとめ>

今回は、ステップを減らす為の工夫を3つ解説しました

 特に、最初に紹介した「変更された型」のステップを減らすについては、すぐに削減効果が出ると思います

 後に紹介した2つの削減工夫については、「効率的なクエリ作成」を意識していけば、自ずと「ステップ数の削減」につながるものです

今回の記事を機に、「効率的なクエリ作成」をぜひ意識してみてください

長文に最後までお付き合い頂き誠にありがとうございました

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


にほんブログ村

 

セル結合により見出しが2行の表をデータ活用2~上級編3回目~

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

セル結合された表を有効活用できようにするため、前回行列の入れ替えとフィル機能を組み合わせて、データ変換を行いました

図にすると、下の図のようなイメージになります

セル結合で欠落した箇所を、上の文字で埋めた合わせた形になっています

今回は、更にデータの並びを縦横並びから縦縦並びに変えるピボット解除を組み合わせます

そして、セル結合された「見出しが不完全なデータ」を下のGIFのように見出しが整った形でエクセルシートに読込めるようにします

つまり、欠落したデータを埋めた上で、縦(1Q/4月、5月・)横(商品A、商品B・)の並びを下の図のように縦縦並びにして、値を1列に集約します

それではまず、前回の作業がどこで終了していたかを確認しましょう!

上の画像を確認してください

左から2列のColumn1は、元はセル結合したデータでした

ですので、Power Query Editorに読込んだ際に1Q、列1・・・と不規則なデータになってしまっていました

前回は、この不規則なデータを画像・一番左の列の形にしました

Column1については、前回で既に削除してあります

では、ここから今回の詳細な解説をはじめます

1.1行目をヘッダーとして使用

前回は、行列を入れ替えるために、あえてヘッダーの見出し行をデータの1行目に変換しておきました

1番左の列の見出しは前回、手動で四半期と入力しています

今回は逆に、データの1行目をヘッダーに変換して見出し行を整えます

ちなみに、上の画像の一番左の列のデータ1行目は前回、条件列を出力した時に「Qで終わらないものは空白」で出力した時に空白になってしまっています

では、変換タブに移動し「 1行目をヘッダーとして使用 」をクリックしましょう!

はい、これで見出しが整ったはずなのですがここで問題が1つあります

データの1行目を見出しに持ってきた時に、下の画面のように2つの自動変換が起こっています

一番左の列の見出しが、前述のように元は空白だったので四半期からColumn1に変わってしまっています

そして、月の列のデータの中味も日付形式に変わってしまっています

適用ステップの欄を見てみると、型の変更が追加されているがよくわかります

こちらの2点は、以下の様に変更を行いましょう!

①Column1の名称→四半期に変更

直接、列の名称を変更しましょう

②日付形式→文字型式に変換

こちらは、変更が行われたステップを削除するか、型式の変更を行いましょう

ちなみに、型式の変更で行う場合には、こちらから行えます

2.ピボット解除

それでは前述の縦横並びを、縦縦並びにかえます

四半期と月の列は縦縦なので、こちらの2つの列をカーソルで選択しておき、右クリックしてください

ちなみに複数の列を選択する時には、Shiftキーを押したままで列の選択を行ってください

上の画像のように、右クリックをすると「その他の列のピボット解除」が選択できますので、こちらをクリックしてください

ピボット解除

これで、縦横並びが縦縦並びに変わりました

3.エクセルシートへの読み込み

本題に入る前に、商品の列の名称が「属性」となっているので「商品」に変えておきましょう

これで、エクセルシートに読込む準備が整いましたが、読込先はテーブルにしても、ピボットテーブルにしてもOKです

テーブルで読み込んで、後でピボットテーブルにする方法もあります

では、解説としては一旦はテーブルで読込ます

そして、こちらのデータをピボットテーブルに変えます

これで、元々はセル結合されていて編集・加工が困難だったデータがピボットテーブルにて様々な形式で集計できるようなりました

<まとめ>

2回にわたり、セル結合を含むデータを有効活用する方法を解説しました

1回目では主に以下、3つのテクニックを解説しました

ⅰ)ヘッダーを1行目として使用

ⅱ)行列入れ替え

ⅲ)フィル

2回目の今回は、ピボット解除により「四半期と月が縦」に、そして、「商品が横に並んでいたデータ」を縦と縦の並びに変えました

データが縦と縦に並んだ、見出しが整ったデータすることにより、ピボットテーブルで有効にデータ活用ができる形式になりました

今回の2回の解説は「行列の入れ替え」「ピポット解除」どちらも行っています

この2つの違いを明確に区別して処理が行えるようになると、パワークエリでデータクレンジングする力が飛躍的に向上します

ぜひ、実際のデータで2回の内容にガッツで取り組んでみてください

では今回の解説は以上です

長文に最後までお付き合い頂き、誠にありがとうございました

次回は四則演算から四捨五入まで、様々な集計方法を解説します

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

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

にほんブログ村

Power Queryって何~既存クエリのステップを一括で削除する方法

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

今回は、既に作成したクエリをステップ毎に分割する方法を解説します

 例えば、以下のように5つのステップ(最初のソース以外)があるクエリがあったとします

最後のステップで右クリックします

こちらで、「前のステップの抽出」をクリックします

すると次の画面になるので、新たなクエリ名を入力してOKボタンを押します

すると元のクエリは次の様になります

右クリックしたステップが残っています

一方、新しいクエリは次のようになります

右クリックしたステップより前のステップが残っています

では、新たに作成したクエリにて、途中のステップで「前のステップの抽出」を同じように行ったらどうなるでしょう?

更に新しく作成したクエリでは、上の画像の黄色の箇所の1つ前「変更された型」のみが抽出されています

今回は以上です

いつもご愛読頂きまことにありがとうございます

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

にほんブログ村