Challenge #56: Parsing and Counting Hashtags ~ハッシュタグのパースとカウント~ – Alteryx Weekly Challenge

2018.12.15

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

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

当エントリは『Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018』の15日目です。

『Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018』では、Alteryx Communityで公開されているWeekly ChallengeのIntermediate Levelにひたすら1人で挑戦していきます。

今回はハッシュタグのパースとカウントに挑戦します。

動作環境

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

  • Windows 10 Pro
  • Alteryx Designer 2018.4.4.54346 英語版

Challenge #56: Parsing and Counting Hashtags

お題

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

「Input」側のデータはこちら。「text」列にハッシュタグがあります。

「Output」側のデータはこちら。「id_str」ごとにハッシュタグの数が出力されています。

解答の概要

今回作成するワーフクローは以下の通りです。

  1. ハッシュタグとハッシュタグがあるIDの抽出
  2. 各ハッシュタグと各IDの数の出力
  3. 合計の出力

ハッシュタグとハッシュタグがあるIDの抽出

RegExツール(Parse -> RegEx)を使用して、「text」列からハッシュタグを抽出します。Regular Expression には (#[a-z|0-9]+) を、 Output Method には Tokenize を設定しています。

結果を確認すると、3列に分かれてハッシュタグが出力されています。

Transposeツール(Transform -> Transpose)を使用して、3列に分かれて出力されたハッシュタグを1列にまとめます。

Formulaツール(Preparation -> Formula)を使用して、「id_str」を識別するための列を作成します。新しく「Field」列をV_WString型で作成します。

式には以下の通り設定しています。

"id_str" + ToString([id_str])

Filterツール(Preparation -> Filter)を使用して、ハッシュタグがない(Null)データを除外します。

ハッシュタグとハッシュタグがある「id_str」を抽出できました。

各ハッシュタグと各IDの数の出力

Cross Tabツール(Transform -> Cross Tab)を使用して、ハッシュタグをキーに設定してデータを横持ちで出力します。

以下の通り設定しています。

  • Group Data by these Values: Value
  • New Column Headers: Field
  • Value for New Columns: id_str
  • Method for Aggregating Values: Count (without Nulls)

データを確認すると、「Value」列にハッシュタグ、「Count_id_str」の各列にはハッシュタグがある数が出力されています。

Data Cleansingツール(Preparation -> Data Cleansing)の Replace with 0 (Numeric Fields) 使用して、Nullを0に置き換えます。

Selectツール(Preparation -> Select)を使用して、列名を修正します。列名は「Output」側にある答えのデータに合わせています。

「id_str」ごとに各ハッシュタグの数を出力できました。

合計の出力

Transposeツールを追加し、Selectツールと接続します。データを縦持ちに変換します。

Summarizeツール(Transform -> Summarize)を使用して、ハッシュタグごとの合計を出力します。合計が出力される列名は「Total」に編集しています。

Joinツール(Join -> Join)を追加します。Selectツールからの出力とSummarizeツールからの出力をJoinツールの入力に接続し、「hashtags」列を使用してデータを結合します。また、不要な列は削除しています。

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

最後に

今回はWeekly ChallengeのChallenge #56: Parsing and Counting Hashtagsに挑戦しました。

明日もお楽しみに!

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

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

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

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

alteryx_960x400