AlteryxでEXCELのCOUNTIF関数相当の処理を実現する

2018.10.19

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

こんにちは、にいのです。

今回は、AlteryxでのCOUNTIFに相当する動きをご紹介します。

Excelであれば、特定の条件に一致するデータの個数を出したいときにはCOUNTIF関数を使用します。 例えば、「Favorite Text Editor」列から「Vim」の数を算出したい時は下記のように記述しますよね。 今回はAlteryx Designerを使ってこの動きを実現してみました。

Formula Tool + Sum ToolでCOUNTIFする

まずはFomula ToolとSum Toolを組み合わせるパターンです。 作成したワークフローは以下の通りです。

ワークフローの中身

Input Tool

ここで処理したいExcelファイルを取り込みます。

Formula Tool

Formula Toolを使って対象の値を検索していきましょう。「Output Column」に任意の項目名(今回は『CountVim』)を入力し、データ型にDoubleを指定し、関数の入力欄へ以下の通り入力します。

Contains([Favorite Text Editor],"検索対象の値")*-1

Sum Tool

Formula Toolで対象の値を検索し、一致するものに1を格納することができました。次はSum Toolで集計します。

Formula Tool --> Sum Toolへ繋げると、Configurationウィンドウの「Field」に項目が表示されます。 今回は、

  • Input Toolで読み込んだExcelファイルの項目
  • Formula Toolで「Output Column」に指定した値(『CountVim』)

以上が表示されました。

集計の対象となる『CountVim』の先頭をクリックして選択状態にして、下段の「Actions」にあるドロップボックスから「Sum」を選択します。 すると、「Actions」へ『CountVim』が追加されました。

Browse Tool

ワークフローを実行してみると、『CountVim』が集計されました。

R ToolでCOUNTIFする

同様のCOUNTIFの処理は、R Toolを使って実現させることも可能です。 作成したワークフローは下記の通りです。R Toolひとつで処理をするので先ほどよりもフローが短くなりました。

「Favorite Text Editor」列の中で、「Vim」に一致する場合をsumで集計して、その結果を書き出す処理を記述しました。

df <- read.Alteryx("#1",mode = "data.frame")
CountVim <- sum(df$'Favorite.Text.Editor' == 'Vim')
write.Alteryx(CountVim)

実行結果は下記の通りです。

R Toolの使い方については下記ブログを参照してみてください。

Rのプログラムを組み込んでみる #alteryx #13 | Alteryx Advent Calendar 2016

おわりに

今回はCOUNTIFをAlteryxで実現する方法について2種類ご紹介しました。今後も本ブログでAlteryxの便利な機能を紹介いたします。

Alteryxの導入なら、クラスメソッドにおまかせください

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

alteryx_960x400