EXCELユーザーのためのAlteryx入門 (3).数式&計算式編 #alteryx

2017.09.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

EXCELユーザーがAlteryxを使うための"入門編的エントリ"としてトピック別にその内容をご紹介するシリーズ「EXCELユーザーのためのAlteryx入門」。当エントリでは「データクレンジング編」としてデータの整形・不要なデータを加工の過程で削ぎ落とす際に使えそうなトピックについてご紹介して行きたいと思います。

目次

IF構文

EXCELの場合

EXCELでIF構文を扱う場合、最も一般的であるのは以下のような形で任意の条件式を作成し、条件に合致する値を割り出す...というようなケースでしょうか。

=IF(R2>2000, "High", IF(R2>500, "Medium", "Low"))

excel-to-alteryx_3_01

Alteryxの場合

AlteryxでIF構文の式を実現したい場合、「Formula Tool」を使う事でやりたい事を置き換える事が可能です。

Formula

IF [Sales] > 2000 THEN "High"
ELSEIF [Sales] > 500 && [Sales] < 1999 THEN "Medium"
ELSE "Low" ENDIF

excel-to-alteryx_3_02

値の集計(合計値)

EXCELの場合

任意の範囲の「値の集計(合算値の算出)」を行う場合、EXCELでは画面メニューのAutoSumシンボルをクリックする事で値を算出するか、

excel-to-alteryx_3_03

SUM関数を用いて値を算出する必要があります。

excel-to-alteryx_3_04

Alteryxの場合

Alteryxで集計を行いたい場合、「Summarize Tool」というツールが利用出来ます。

Summarize

既存のデータとは別の形で情報を作成する形となりますが、以下のような形で入力に対してSummarizeの処理を仕掛け、その結果を「集計済のデータソース」として作成する形となります。ここでは上記EXCELの計算式とは若干異なりますが、「Product Name」毎の「Salesの合計値」を出してみる事にしました。

excel-to-alteryx_3_05

実行結果を確認してみます。ちゃんと売上の数値が合算されていました!

excel-to-alteryx_3_06

今回のケースでは合計値(SUM)を算出してみましたが、このツールではその他にも色々な集計が行えます。

excel-to-alteryx_3_07 excel-to-alteryx_3_08

行の累計を計算する

EXCELの場合

「行の累計を計算」するケースです。ここでは以下の様に1行に各月の数値が入っており、一行の中でその合算値を出しつつ、その合算値を行毎に累計値として積み上げていく...というものです。EXCELの場合だと各月の合算値(Total)を1つ前の行の累計値(cumulative sales)に足し込む事で実現しています。

excel-to-alteryx_3_09_

Alteryxの場合

Alteryxで同様の処理を行うには「Multi-Row Formula Tool」が適しています。

FormulaMultiRow

このツールは複数行にまたがる処理を行わせたい時に便利です。

「入力ファイルに対してどのような処理を行うか」をこのツールを使って指定します。EXCEL同様の条件「1行前の累計値(cumulative sales)」に「1行毎の合計値(total)」を加算させています。

excel-to-alteryx_3_10

変数の一覧を見ると、以下のような形で色々なバリエーションで変数が定義されているのが確認出来ます。

excel-to-alteryx_3_11

こちらは「1行前の」項目一覧。

excel-to-alteryx_3_12

そしてこちらが「当該行」の項目一覧。

excel-to-alteryx_3_13

その他「定数」では以下のような要素が利用可能です。

excel-to-alteryx_3_15

処理実行後の出力ファイル。Alteryxで生成した新規列(cumulative_of_sales)に、EXCELで処理したものと同じ結果が出力されている事が確認出来ました。

excel-to-alteryx_3_14

合計のパーセンテージを計算する

EXCELの場合

EXCELの合計に基づいた各フィールドのパーセンテージを計算するには、まずデータの表を作成し、その上でデータに基づいたピボットテーブルを作成する必要があります。また、もう1つの方法はSUMIF()ステートメントを作成して各月と金額のパーセンテージを計算する方法です。

excel-to-alteryx_3_18

Alteryxの場合

マルチフィールド数式ツール(Multi Field Formula Tool)を使うと、複数のフィールドで1つの関数を簡単に実行出来ます。以下例では各月のパーセンテージを表示するデータ内に新しい列/フィールドを作成します。

FormulaMultiCol

入力データとして、以下のような形でピボットテーブルの情報を用意。

excel-to-alteryx_3_19

「Multi Field Formula Tool」を使い、以下のようなワークフローを作成し、実行する事で...

excel-to-alteryx_3_20

別項目としてパーセンテージを算出する事が出来ました。

excel-to-alteryx_3_21

行のグループ化と集計

EXCELの場合

EXCELでデータを要約したい場合はピボットテーブルを活用出来ます。

excel-to-alteryx_3_22

Alteryxの場合

同様の事をAlteryxで実現したい場合は「Summarize Tool」が有効です。以下のような設定を使ってIn/Outのデータソースを設定しておくと、

excel-to-alteryx_3_23

出力結果として以下のようなデータを生成する事が出来ます。

excel-to-alteryx_3_24

まとめ

という訳で「EXCELユーザーのためのAlteryx入門」第3弾、「数式&計算式編」としてEXCELで扱える計算式や数式に関する作業の"Alteryx化"への道筋を概略の形ではありますが紹介したエントリでした。この他にも出来ることはまだまだ沢山ありますので折を見て詳細な内容についてもご紹介出来ればと思います。

参考情報:

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400