Challenge #45: Parsing Bureau of Labor Data ~労働局のデータのパース~ – Alteryx Weekly Challenge
こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。
Alteryx Communityで公開されているWeekly Challengeに挑戦するシリーズ。今回は労働局のデータのパースに挑戦します。
動作環境
当エントリの執筆には、以下の環境を利用しています。
- Windows 10 Pro
- Alteryx Designer 2019.1.4.57073 英語版
Challenge #45: Parsing Bureau of Labor Data
お題
今回挑戦するお題はこちら。
Input側のデータはこちら。URLのみ用意されています。
Output側のデータはこちら。Input側にあるURLからデータを取得し、Output側のデータになるように処理していきますが、URLから取得できるデータが異なるため、2つのカテゴリーと年、月の列を用意することで解答にしたいと思います。
解答のワークフロー全体
作成するワークフローはこちら。
データの取得
Downloadツールを使用して「Field1」列のURLからデータを取得します。
取得したデータは「DownloadData」列に出力されます。
Selectツールで「Field1」列と「DownloadHeaders」列を削除してから、Text To Columnsツールを使用して「DownloadData」列のデータを分割していきます。Delimitersに\n
指定して改行でデータを分け、Sptil to rowsを指定して同じ列に出力します。
分割したデータは以下のようになっています。
列の作成
Data Cleansingツールを使用してデータを整えてから、Multi-Row Formulaツールを使用して、「Employment Category」列と「Category」列をV_WString型で作成します。まずは「Employment Category」列。
Expressionには以下のとおり設定しています。
IIF((IsEmpty([Row-1:DownloadData]) AND IsEmpty([Row+1:DownloadData])), [DownloadData], [Row-1:Employment Category])
- 「DownloadData」列の1行上と1行下が空欄の場合は「DownloadData」を出力
- それ以外の場合は1行上の「Employment Category」を出力
「Category」列はこちら。
Expressionには以下のとおり設定しています。
IIF(Contains([Row+1:DownloadData], "YEAR"), [DownloadData], [Row-1:Category])
- 「DownloadData」列の1行上に「YEAR」が含まれる場合は「DownloadData」を出力
- それ以外の場合は1行上の「Category」を出力
RegExツールを使用して、スペースをカンマに置き換えます。スペースが連続している場合があるため、Regular Expressionには\s+
と指定します。Replacement Textは,
を指定します。
処理した結果はこちら。スペースがカンマに置き換えられています。
Text To Columnsツールを使用して、「DownloadData」列をカンマで分割します。Delimitersに,
を指定します。また、今回はカンマごとに異なる列に出力するためSplit to columnsを指定し、Number of columnsは13
を指定します。
処理した結果はこちら。右側に1や2などの数字の列名で出力されています。
出力の調整
RegExツールを使用して、残すデータと削除するデータを分類します。Field to Parseに「1」列、Regular Expressionに(\d\d\d\d)
、Output MethodにMatch
を指定します。
処理した結果はこちら。条件に合致するデータには「True」、合致しないデータには「False」が出力されています。なお、「1」列のデータがNullであった場合は結果もNullになっています。
Filterツールを使用して、「True」になっているデータの抽出します。
最後にSelectツールで列の名前の修正と不要な列の削除をして、完成です。
最後に
今回はChallenge #45: Parsing Bureau of Labor Dataに挑戦しました。
サンプルワークフローのご案内
クラスメソッドでご契約のユーザー様向けに、当ブログでご紹介したワークフローを専用ポータルにて公開しております。当エントリでご紹介したワークフローも公開予定ですので、ご参考にしていただきますと幸いです。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。