パワークエリの「合計」と「加算」は同じように見えるけど、実は違う
パワークエリには「足し算」する機能が2つあります。①「統計」という機能の「合計」と、②「標準」という四則演算する機能の「加算」です。
「合計」と「加算」
①②いずれも「足し算」する機能ですが、挙動に少し違いがあることを知っておいた方が良いと思います。
日本語表記では、自動で計算列名に入る名称が、いずれも「加算」になってしまう!
紛らわしいので注意しよう!
「合計」も「加算」も同じ結果になる事例
ここでは、次のような2列のデータを足し算します。
①「統計」という機能の「合計」では、次のようになります。
想定どおりですね。
ここでは、自動で付される「加算」という列名を「合計」に変えたよ。
“加算”とあるところを“合計”とすることで、ステップを一つ削除できるよ!
次に、②「標準」という四則演算する機能の「加算」の結果を見てみましょう。
「加算」も、想定どおりですね。
ここで注目してほしいのは、図表4と図表5のそれぞれのM言語の違いです。
計算バーを見ると、①②ともに最初にTable.AddColumnとありますが、これはテーブルに列を追加するという関数です。今回は「列の追加」タブを使って解説しているのでTable.AddColumn関数が使われています。
ある条件下で、「合計」と「加算」の挙動が異なることになる
①②両者の違いは、そのあとの関数です。①はList.Sum関数が使われているのに対し、②は[列1] + [列2]として「+」演算子が使われています。この違いが、挙動の違いを生み出します。
図表3の足し算するための2列のデータを見ると、列1の5行目のセルは「0」ゼロとなっています。この場合は上述のように、①「合計」でも②「加算」でも結果は同じになります。
ここで、図表3のデータを次のようにしてみます。
列1の5行目を、図表3のように「ゼロ」ではなく、図表6では「null」にしてみました。nullとは、空白値を意味します。
図表6のデータを対象に①「合計」と②「加算」をしてみると次のようになります。
nullが含まれるデータを対象に①「統計」という機能の「合計」をした結果は、図表4と同じになります。
しかし、②「標準」という四則演算する機能の「加算」の結果は図表5と異なり、「加算」列の5行目が「10」ではなく「null」になります。
つまり、こうです。
- ①「統計」という機能の「合計」は、「null」を「0」に変換して計算する
- ②「標準」という四則演算する機能の「加算」は、「null」を含むと「null」を返す
パワークエリは、実に奥が深い!
一見正しそうに見えても、挙動の違いにより、想定する結果が得られない場合もあるよ。
必ず、結果を見よう!
「モダンExcel研究所」を楽しむ際の【注意事項】
コンテンツコピー、スクレイピングなど【厳禁】 ☚【検知ツール設置済】☚悪質な場合【法的措置】を講じます
(過負荷によるサーバー障害が生じた経験上、ご協力お願いいたします!)
モダンExcel研究所
フォローお待ちしてます!