AlteryxでRSSフィードからレポート作成する
こんにちは、DI部の兼本です。
2018年8月にジョインしてから、日々ブログのネタを探しているわけですが、渾身のネタを書いたつもりがすでに過去に公開されてた・・・なんてことが、当社サイトでは日常茶飯事だとのこと。別にネタが被っても構わないのですが、せめて過去エントリを踏まえた感じにしておきたいところです。
ところが、2018年8月現在で公開記事が10,000本を超える記事数を誇る弊社サイトにおいては、過去に誰がどんな記事を公開しているのかを調べるのも結構大変です。
というわけで、今回はAlteryxで弊社サイトのRSSフィードを取得して、誰がどんな記事を書いているのかを調べてみたいと思います。
データのダウンロード
Alteryxには「Download」ツールという、指定されたURLからデータを取得するツールが用意されています。
「Download」ツールは入力としてアクセス先のURLを指定する必要があるので、事前準備として「Text Input」ツールを配置して、アクセス先のURLをテキストデータとして用意しておきます。
「Text Input」ツールはワークフロー内で任意のテキストデータをデータソースとして作成できるツールで、今回のようにファイルやデータベースにはないちょっとしたデータを気軽にデータソースとして利用したいときに使えるツールです。
アクセス先のURLに関しては、弊社サイトでは通常のURLの最後に「feed/」という文字列をつけることでRSSフィードが取得できるので、これを指定します。
ただし、ブログ全体だと範囲が広すぎるため、今回は特集カテゴリーをAlteryxに絞り込んで設定します。
続いて「Download」ツールを配置します。
URLグループのFieldプロパティに「URL」フィールドが設定されています。ここの値が「Dawnload」ツールがアクセスするURLとして利用されます。
なお、「Download」ツールにはこれ以外にも様々なオプション設定が用意されていますが、今回はすべてデフォルトのままで使用します。
取得したRSSフィードはXML形式ですので、XMLを解析する「XML Parse」ツールを配置します。
「Field with XML Data」プロパティには、「DownloadData」を指定します。
実はこれだけで、サイトからRSSフィードを取得して、XMLを解析するところまでが実現できてしまいます。
注意:短時間に高頻度でデータを取得すると取得先のサーバに高い負荷をかけてしまう可能性があるので、必要に応じて「Throttle」ツールなどを使用するようにしてください。
合わせて読みたい:
では、確認のために「Browse」ツールを配置して取得したデータをみてみましょう。
ほらっ、この通り・・・と言いたいところですが、ちょっとデータが少ないですね。Alteryx関連の記事が30件しかないわけがありません。
これはRSSフィードが全件を返すのではなく、1ページ(=30件)分のデータだけを返しているためです。
このような場合はItarate(繰り返し)処理をしてページ毎のデータを取得してあげれば良いわけですが、Itarate処理については、確か過去エントリがありましたね。
・・・。えー、Alteryx特集のページは11ページしかありませんので、手抜きをして Itarate処理は別の機会に改めてご紹介することとして、今回は「Text Input」ツールに11ページ分のURLを追加しちゃいます。
はい、簡単でしたね。
どうやらAlteryx関連で、300件ちょっとの記事が公開されているようです。
レポートの作成
せっかくなので、取得したデータをレポートにしてみましょう。
レポートを作成するには、「Reporting」カテゴリのツールを使用します。今回はシンプルなテーブルでテータを表現したいので「Basic Table」ツールを使用します。
結果は以下の通りです。
Alteryxでのレポート作成方法の詳細については、以下のエントリも参考にしてください。
ついでなので「Charting」ツールを使用して、取得したデータを執筆者別に集計してみましょう。
「Charting」ツールに渡すデータは事前に集計して置く必要があるので「Summarize」ツールを使って執筆者毎の記事数をカウントします。
「Charting」ツールの設定では、以下の設定を行います。
- Chart Type: Bar
- Series1: Count
- Label Field: dc:creator
作成したワークフローの実行結果は以下の通りです。圧倒的じょんすみすですね。流石です。
まとめ
いかがでしたか。
今回はXML形式のRSSフィードを利用しましたが「Download」ツールを使えば、さまざまなWebサービスから取得したデータを利用することができます。皆さんのデータ分析の参考になれば幸いです。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。