第4回 一目瞭然! [適用したステップ]で操作手順を把握

第3回のデータをもとに、説明を続けます。

M言語

Power Queryは「M言語」を用いてETL(抽出・変換・読込)を行います。

ここで“M”はmashupマッシュアップを指します。複数のデータを組み合わせる、というような意味です。

このM言語は、特殊で、奥が深く、様々なことができるのですが、まずは基本的なところを理解してください。

詳細エディター

[ホーム]タブの[クエリ]グループにある[詳細エディター]をクリックして、[詳細エディター]をご覧ください(図表1)。

図表1 詳細エディター

let~inの形式で表現されているのがわかると思います。

例えば、let直後の「ソース = Excel.CurrentWorkbook()」は「元データとなるソースは、Excelの現在のワークブックです」という意味になります。

このようなM言語が色々用意されているのがPower Queryで、その意味内容は簡単な英語で表現されていますので何となく想像できると思います。

Power Queryで行ったクリック操作を自動的にM言語でプログラミングし、Power Queryが適切なETLを自動的に行ってくれる、ということです。

そして、Power Queryエディターの[適用したステップ]1つが[詳細エディター]1行で表現されるわけです。

図表2の[適用したステップ]で“ソース”を選択したときの[数式バー]と、図表1の[詳細エディター]の“ソース”と書かれた行を見比べてみると、まったく同じ内容になっているのがわかると思います。

これは、Power Queryを用いてクリックしていたデータ処理過程を、Power Query側で自動的に判断しデータの収集・整理を行い、M言語に置き換えた結果を[詳細エディター]にデータ処理過程を1行ずつ表現したものをまとめて記述していると考えることができます。

また、inの前後を見るとわかりやすいですが、前ステップを後ステップで受けとるという構文を用います。

このような形式で、M言語を用いて記述されるのが、Power Queryです。

M言語はコピペができます。つまり、同じデータ処理プロセスであれば、M言語をコピペして処理プロセスを使いまわすことができるのです。これは、元データであるソースを変更するだけで同じ処理を自動的に行えることを意味します。

これまでは、こうしたデータの収集・整理をExcelで行おうとすると、数式とVBA(マクロ)を複雑に駆使する必要がありました。

Excelではいわゆる“104万行の壁”があることなどからExcelを諦め、Accessで行う必要もあったと思います。

しかし、今はPower Queryを使えばExcel上でデータの収集・整理をクリックだけで簡単にできるようになっています。

しかも、複雑なことはM言語を通じて行えるようにもなっています。

これはかなり画期的なことです。

[適用したステップ]のギアマーク

便利な機能の一つに[適用したステップ]のギアマーク(歯車型のアイコン)をクリックすれば、いったん適用した”変数”を変更できるという機能があります。

この事例では、「削除された下の行」の右側にギアマークが見えます(図表2の右側、[適用したステップ]の中ほどに注目)。

図表2 Power Queryエディター

この「削除された下の行」は元のデータの最終行の「総計」を1行削除した処理過程を表しますが、もしも2行削除したければ、ギアマークをダブルクリックすれば「下位の行の削除」という画面が現れますので、ここで「1」(図表3)の代わりに「2」と入力すれば元のデータの最後の行を含む2行を削除できるようになります。

図表3 「行数」の「1」を「2」に変えれば、最後の2行を削除できるようになる

従来のExcelでは加工後のデータをもとの状態に戻す、しかもデータ加工の途中段階を修正するというのはかなり難儀だったのですが、こうしたこともPower Queryを使えば簡単にできてしまいます。

テーブルにしてからPower Queryにデータ取得し、下位行を削除・変更して、Excelの指定位置にデータを読み込むところを動画で確認してね!

動画1 下位行の削除など

【ワンポイント】 Power Queryにおける、名前変更の活用とそのルール

自動化を考えたり、自分以外の他者がPower Queryによるデータ処理過程を検証することなどを考慮すれば、Power Queryの既定で表示される“ソース”のような名称ではわかりづらい場合もあると思います。

Power Queryエディターは[プロパティ]でクエリの名称を変更でき、[適用したステップ]それぞれの名称も変更できます。わかりやすい名称にすると後々便利です。

名称変更する際、スペースを入れないほうが良いというのも覚えておくとよいでしょう。

例えば、「変更された型」を「変更された 型」とすると、「#”変更された 型”」のように「#” ”」が付加され名称が長くなってしまいます。

■■■■■

「正しいモダンExcel」の使い方の基本を学ぶには、Power Query(パワークエリ)とPower Pivot for Excel(パワーピボット)の両者を「一体理解」する必要があります。
ぜひ、拙著「モダンExcel入門」(日経BP)で学んでみて欲しいと思います。
サンプルデータで、実際に手を動かしながら、理解を深めることもできます。参考にしてください。

■■■■■

「モダンExcel研究所」を楽しむ際の【注意事項】

コンテンツコピー、スクレイピングなど【厳禁】 ☚【検知ツール設置済】☚悪質な場合【法的措置】を講じます

(過負荷によるサーバー障害が生じた経験上、ご協力お願いいたします!)

今回のポイント

・Power Queryエディターの右側[適用したステップ]でデータの収集・整理の処理過程がわかる。

・[適用したステップ]の具体的内容は[詳細エディター]によりM言語で表示できる。

・ソース(元データ)を変更すれば、変更したデータを対象にして実行済みのデータの収集・整理過程を適用できる。つまり、自動化できる。

モダンExcel研究所

フォローお待ちしてます!

1件のピンバック

コメントは現在停止中です。

error: Content is protected !!