Alteryxで行番号を指定してデータを絞り込む

こんにちは、小澤です。

データ分析をしていると、行番号の指定で特定の行または行の範囲を指定して内容を確認したい場合があります。 例えば、外れ値があるレコードがなぜ生成されたのか?や、処理の途中でエラーが発生するデータの何がおかしいのか知りたいなどの場合が考えられます。

今回は、そんな時に利用できる、Select Recordsツールを紹介します。

Select Recordsツール

さて、今回は単一ツールの紹介です。Select Recordsツールです。

Alteryxでは、Resultsの部分に出力されるデータに行番号がついています。

一番左にある「Record#」となっている部分です。 Select Recordsツールでは、この値を使ってデータの一部を抜き出します。

え?この値って1からの連番になってるし、Record IDツールを使ってデータに含めてからFilterツール使えばいいんじゃね? と思われた方は、Alteryxを使いこなしてますね。 でも、Select Recordsツールでは、かなり複雑な指定もできます。

順に見てみましょう。

Select Recordsツールの設定

まず、Select Recordsツールの設定は以下のようになっています。

「Enter the numeric ranges of records to return. For example :」 の後にいくつか数字が書かれています。

その下の「Ranges」のところに具体的な数字を書いていくのですが、 おなじみのIrisデータセットに対して、ここに書かれている数字を指定した場合、どのような結果になるのか見てみましょう。

今回は、結果がわかりやすくなるように、Record IDツールであらかじめもともとのRecord#の値をデータに含めておくことにします。

実際に数字を入れてみる

さて、上から順に数字を入れてどんな結果が得られるか見てみましょう。

まずは、「-2」を入れてみます。

元のデータで1行目と2行目のみになりました。 「-2」のようにマイナスで指定すると、「先頭から指定した数字の行数まで」という意味になります。

次に「3」を入れてみます。

数値のみをピンポイントで指定すると、その行のみを取り出します。

続いて、「17-20」を試してみましょう。

ここまでくると予想できていた方も多いかと思いますが、「17行目から20行目まで」という範囲指定になっています。

最後は「50+」を入れてみます。

「+」で指定することで、「50行目以降全部」という指定になります。

複数の指定を組み合わせる

さて、このSelect Recordsツールの入力部分、非常に大きいですよね? これ実は、改行区切りで複数の条件を指定できるんです。

例えば、このように指定すると以下のような結果になります。

複数の指定した条件で取り出せているのがわかるかと思います。

なお、Select Recordsツールでは範囲が重複しても同じデータが複数取り出されることはありません。 例えば、以下のように指定したとします。

この結果は以下のようになり、7-10行目が2回取り出されてはいません。

これは、「10-20」と「-30」や「30-40」と「20+」のように片方がもう片方を包含しているような範囲を指定してる場合は、範囲の広い方のみでもいいということを意味しています。 「10-20」の後に「-30」と書いても、2つ目の指定は20行目以降から30行目という意味にはなりませんのでその点はご注意ください。

おわりに

今回は、Select Recordsツールを紹介しました。

このツールの使いどころとしては、何かしらの理由で特定の位置のデータ内容について調査したい時がメインになるかと思います。 ただ、実際にはちゃんとテーブル形式になっていないExcelファイルから読み込んでいらない部分の行を削除するとかにも使えるかもしれません(そういったデータが無い方ことを祈りたいですが。。)。

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

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

alteryx_960x400