Challenge #49: Reformatting Transactional Data ~トランザクションデータの再フォーマット~ – Alteryx Weekly Challenge

2019.04.19

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

こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。

Alteryx Communityで公開されているWeekly Challengeに挑戦するシリーズ。今回はトランザクションデータの再フォーマットに挑戦します。

動作環境

当エントリの執筆には、以下の環境を利用しています。

  • Windows 10 Pro
  • Alteryx Designer 2019.1.6.58192 英語版

Challenge #49: Reformatting Transactional Data

お題

今回挑戦するお題はこちら。

Input側に用意されているデータはこちら。1行目から3行目が「PRODUCT」「MARKET」「TYPE」という項目になっています。

Output側のデータはこちら。データを縦持ちに変換し、「Date」列「MARKET」列「PRODUCT」列「TYPE」列「Value」列を用意しています。

解答

今回作成するワークフローはこちら。

Record IDツールでIDを付与したのち、Filterツールで項目とデータ(「Value」列に入るデータ)に分けます。Basic filterを選択し、「F2」列に「A」が含まれているか否かで分けています。

2つに分けたデータをそれぞれ処理していきます。まずは「F2」列に「A」が含まれている方。

Transposeツールを使用して、Key Fieldsに「RecordID」列、Data Fieldsにそれ以外の列を選択して、縦持ちに変換します。

変換した結果がこちら。

Cross Tabツールを使用して、「PRODUCT」「MAEKET」「TYPE」が同じ行に並ぶように設定します。

設定はこちら。

  • Group Data by these Values: 「Name」列
  • New Column Headers: 「RecordID」列
  • Values for New Columns: 「Value」列

変換した結果がこちら。

Filterツールに戻り、「F2」列に「A」が含まれていない方のデータの処理を行います。

Transposeツールを使用して、Key Fieldsに「RecordID」列、Data Fieldsにそれ以外の列を選択して、縦持ちに変換します。

変換した結果はこちら。

項目名とデータがそろいましたので、Joinツールで結合します。Join by Specidic Fieldsを指定して「Name」列で結合します。また、不要な列は削除しています。

Filterツールを使用して、「Name」列が「F1」か「F1」以外かでデータを分けます。Basic filterで「Name」列「Down not equal」「F1」と指定します。

「Name」列が「F1」以外のデータはこちら。

「Name」列が「F1」のデータはこちら。「Value」列は日付になっています。

Find Replaceツールを使用して、「Name」列が「F1」以外のデータにある「RecordID」列を、「Name」列が「F1」のデータの「Value」列(日付)に置換します。

設定はこちら。

  • Any Part of Field
  • Find Within Field: 「RecordID」列
  • Find Value: 「RecordID」列
  • Replace Found Text With Value: 「Value」列(日付)

Selectツールを使用して、列名の修正と不要な列の削除を行います。

先頭に空白が入っているデータがありましたので、Data Cleansingツールでデータをきれいにします。

結果を確認して完成です。

最後に

今回はChallenge #49: Reformatting Transactional Dataに挑戦しました。

サンプルワークフローのご案内

クラスメソッドでご契約のユーザー様向けに、当ブログでご紹介したワークフローを専用ポータルにて公開しております。当エントリでご紹介したワークフローも公開予定ですので、ご参考にしていただきますと幸いです。

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

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

alteryx_960x400