Challenge #83: Pop-Tart and Beer Pairings ~Pop-Tartとビールのデータの整形~ – Alteryx Weekly Challenge

2019.08.11

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

Alteryx Communityで公開されているWeekly Challengeに挑戦するシリーズ。今回はPop-Tartとビールのデータの整形に挑戦します。

動作環境

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

  • Windows 10 Pro
  • Alteryx Designer 2019.2.7.63499 英語版

Challenge #83: Pop-Tart and Beer Pairings

お題

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

Input側のデータはこちら。「Oarsman Ale with Wild Berry」以降の列にPop-Tartとビールの組み合わせとスコアが用意されています。

Output側のデータはこちら。「Beer」「Pop_Tart」「Score」列が作成されています。

解答

今回作成したワークフローはこちら。データを2つに分けて整形したのち、結合しています。

データは以下の2つに分けて整形していきます。一方は「Oarsman Ale with Wild Berry」のように、ビールとPop-Tartが列の名前になり、スコアがデータになっているもの。

もう一方は、「Own Parsing」に数字で組み合わせを示しているもの。こちらはビール、Pop-Tart、スコアがそれぞれ別の列になっています。

ビールとPop-Tartが同じになっている列の整形

ビールとPop-Tartが同じになっている列を整えていきます。

Transposeツールで縦持ちに変換します。Key columnsに「Respondent ID」を、Data columnsにビールとPop-Tartが同じになっている列を選択します。

RegExツールのParseを使用して、元の列名から「with」を取り除きビールとPop-Tartを抜き出します。

あとはSelectツールで列を調整し、Data Cleansingツールでデータをきれいにしておきます。これで以下のようなデータを準備できました。

「Own Parsing」列の整形

続いて「Own Parsing」列を整えていきます。

Transposeツールで縦持ちに変換します。Key columnsに「Respondent ID」、Data columnsに「Own Parsing」列を選択します。

RegExツールのParseを使用して、元の列で組み合わせを示していた数字を抜き出します。

もう一度RegExツールを使用します。今度はReplaceを使用して、列名に不要な「Own Parsing <数字> - 」を削除します。

Filterツールで「Pop_Tart」列のデータが空のものを取り除き、Formulaツールで「Beer」列と「Score」列のデータが空の場合はNullに変換します。これで以下のようなデータの準備ができました。

データの結合

仕上げとしてそれぞれのデータを結合します。

先ほど整形した2つのデータを、UnionツールのAuto Config by Nameで結合します。

Joinツールで元のデータと整形したデータを「Respondent ID」列で結合します。あわせて不要な列の削除と列の順番の調整を行ます。

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

最後に

今回はChallenge #83: Pop-Tart and Beer Pairingsに挑戦しました。

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

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

alteryx_960x400