データサイエンス100本ノックをAlteryxで。17日目(解答)

100本ノック

このページは解答編です。

↓ネ

↓タ

↓バ

↓レ

↓防

↓止

答えと解説

設問はこちらでした。

P-017: 顧客データ(customer.csv)を生年月日(birth_day)で高齢順にソートし、先頭から全項目を10件表示せよ。

解答ワークフローは以下のようになります。

基本的にはソートツールを使いますが、まずは適切にAlteryxで日時データを取り扱うために、日時型にしましょう。

Alteryxの日時型とは?

Alteryxの標準の日時型は「yyyy-MM-dd hh:mm:ss」です。日付データのみの場合は日付型となり「yyyy-MM-dd」となります。その他、時刻型「hh:mm:ss」というのもあります。

日時型(この際、日付型も含みましょう)であれば、DateTimeAdd関数で日数を足したり、DateTimeDiff関数で日付差分を出したりなどの関数を利用することができるようになります。 

1. 日時ツールを使う

テキスト形式で持っているデータを、Alteryxで標準の日時型にする場合、日時ツールを使います。

設定は以下のような形になりますが、元のデータがテキストで、それを日時型にするのか、その逆かで若干設定が変わります。こちらは「元データがテキストで日時型に変換する」場合の設定例です。

ポイントは、一番下にある「入力された文字列フィールドに一致する形式を選択」のオプションです。今回は「yyyy-MM-dd」としていますが、入力されたインプットデータと同じフォーマットになるように選びます。例えば、日本でよく使われる「yyyy/MM/dd」という形式がここにありませんが、この選択リストにない場合は、「カスタム」を選んで自分で記載します。

その後、ソートを行います。ソートツールの設定は簡単で、ソートしたいフィールドを選び、昇順・降順を選択するだけです。この時、厳密な並べ替えかたを決めることができます(辞書順でも、XJIS/五十音順/部首・画数から選択することが可能です)。

今回は「高齢順」なので、生まれが早い順、つまり誕生日の昇順に設定します。

実際のワークフローは以下の通りです。

2. セレクトツールを使う方法

今回のインプットデータは、たまたま最初から「yyyy-MM-dd」形式ですので、実はセレクトツールで直接データ型を「Date型(日付型)」に変換することが可能です。

この形式以外の場合はNullになってしまいますので、ご注意ください。そのような場合は日時ツールを使う必要があります。

実際のワークフローは以下の通りとなります。

解答ワークフローダウンロード

コメント

タイトルとURLをコピーしました