Challenge #33: Reshaping Nielsen Data ~ラジオ局のプログラムのリスニング統計~ – Alteryx Weekly Challenge

2018.12.08

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

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

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

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

今回はラジオ局のプログラムのリスニング統計の整形に挑戦します。

動作環境

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

  • Windows 10 Pro
  • Alteryx Designer 2018.4.3.54046 英語版

Challenge #33: Reshaping Nielsen Data

お題

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

「Input」側のデータはこちら。「Field_3」列のデータにプログラム名があります。

また、終盤にリスニング統計として使用するデータがあります。

「Output」側のデータはこちら。プログラム名は「ProgramNPRPr」という形式になっています。

解答の概要

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

  1. Filter、Dynamic Rename、Formulaツールで「Code」から「Schedule Time」列のデータを準備
  2. Filter、Multi-Row Formulaツールで「AQHP12+」以降の列を準備
  3. Joinツールで2つのデータを結合

「Code」「Name」「Date」「Schedule Time」列のデータの準備

「Name」列のデータの準備をします。

Filterツール(Preparation -> Filter)の Custom Filter を使用して、「Field_3」列に「Program」が含まれるか、「Field_2」列に「Code」が含まれるデータを T (True) に出力します。

設定した条件は以下の通りです。

Contains([Field_3],"Program") or Contains([Field_2], "Code")

Dynamic Renameツール(Developer -> Dynamic Rename)を使用して、Rename ModeTake Field Names from First Row of Data を指定し、各列の初めのデータを列の名前に置き換えます。

Formulaツール(Preparation -> Formula)を使用して、「Name」列のデータを以下の条件で上書きします。

"Program" + Left([Name], 4) + "r"

「ProgramNPRPr」などの「Name」列のデータを準備できました。

「AQHP12+」以降の列の準備

「AQHP12+」以降の列を準備します。

前項の初めのFilterツールの F (Fales) の出力を使用します。「Field_3」列に「Program」が含まれるか、「Field_2」列に「Code」が含まれるデータ以外が出力されています。

Multi-Row Formulaツール(Preparation -> Multi-Row Formula)を使用して「Flag」列を作成し、使用するデータが含まれる行にフラグを立てます。

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

if Contains([Row+1:Nielsen Audio Metro Area], "(9/0") then "y"
else "n"
endif
  • 1つ下の行の「Nielsen Audio Metro Area」列に「(9/0」が含まれる場合は「y」を出力
  • それ以外の場合は「n」を出力

Filterツールを使用して、「Flag」列に「y」が含まれるデータのみ抽出します。

「AQHP12+」以降の列を準備できました。

2つのデータの結合

2つのデータを結合します。

Joinツール(Join -> Join)を使用して、2つのデータを結合します。Join by Record Position を使用して、2つのデータの同じ行のデータを並べて出力します。また、不要な列の削除や列の名前の調整を行います。

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

最後に

今回はWeekly ChallengeのChallenge #33: Reshaping Nielsen Dataに挑戦しました。

明日もお楽しみに!

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

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

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

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

alteryx_960x400