ヤフー・データソリューションのAPIと Excel を使って検索ワードのランキング分析:CData API Driver

f:id:sugimomoto:20201222153828p:plain

こんにちは。CData Software Japanリードエンジニアの杉本です。

今回はヤフー・データソリューションが提供するヤフーの行動ビッグデータを利用できる「DS.API」からデータを取得して、Excel上で分析・可視化を行う方法を紹介したいと思います。

DS.API とは?

「DS.API」 とはヤフー・データソリューションのデータをAPI経由で様々なツールから利用できるようにするサービスです。

2021年1月時点、ヤフーのビッグデータをブラウザー上で調査・分析できるツール「DS.INSIGHT」の機能をAPI経由で利用できる「DS.API -INSIGHT」が提供されており、任意のワードを元にした検索キーワードランキングや都道府県別の特徴などを取得し、分析・活用に繋げることができます。

ds.yahoo.co.jp

f:id:sugimomoto:20201222153355p:plain

API 仕様書は以下のSwagger Hubで公開されており

datasolution.yahooapis.jp

f:id:sugimomoto:20201222153404p:plain

現在、「DS.API – INISHGT」では下記4種類のAPIが利用できるようになっています。

API名 概要
Search Ranking API 指定キーワードに関連するキーワードの情報をランキング形式で取得します。
Search Trend API 指定期間において検索トレンドが上昇しているキーワードのリストを取得します。
Map Metrics API 指定キーワードに関する都道府県別の特徴などエリア属性に関する情報を取得します。
Search Volume API 指定した期間のキーワードの検索ボリュームを取得します。

この記事ではこの DS.API から検索ワードランキングを取得して、以下のような年代別の検索ボリュームをExcel上で可視化してみたいと思います。

f:id:sugimomoto:20201222153828p:plain

実現イメージ

具体的な連携手順の前に、まずExcelからどのようにこの DS.APIに接続するのか整理しておきましょう。

Excel や Power BI は汎用のWebコネクタやPowerQuery・VBA等を用いることで各種APIに接続が可能になっています。

しかしながら、APIに関する知識の習得はもちろんのこと、ページネーション・認証・取得したデータのスキーマ対応をどのように対応するかといった課題が存在し、分析担当者が簡単に接続できるとまでは言えません。

f:id:sugimomoto:20210120091644p:plain

そこで、CData API Driver・Excel Add-in を用いて、このボトルネックを解決します。

各ツールはODBCやJDBCといった標準のデータ接続インターフェースを持っています。CData API Driverはその標準インターフェースを利用し、各ツールから受け取ったSQLを変換して DS.API へリクエストを行うようにします。

リクエスト後、JSONフォーマットで返ってきたデータセットはCData API Driverが各インタフェースのテーブル形式に変換して各ツールに返すようにします。

f:id:sugimomoto:20210120091613p:plain

これにより、各種ツールからアドホックにAPIへリクエストを行い、最新のデータを柔軟に API から取得することが可能になります。

なお、今回は Excel から接続としましたが、Power BI や Qlik といったBIツールなどからも同じように接続が可能である点が特徴です。各ツールでそれぞれコネクターを作る必要がありません。

手順

それでは実際に Excel と DS.API の連携する手順を説明していきましょう。

Excel は標準でODBC接続する機能を提供していますが、CData ではよりユーザーが使いやすいように、アドインとして使える製品も提供しているので、今回はそのCData Excel Add-inを用いて、DS.API に接続してみます。

DS.API アプリケーションIDの取得

DS.APIに接続するためには、アプリケーションIDが必要となります。

アプリケーションIDの登録・取得方法は以下のページを参考にしてみてください。

note.com

CData API Driver 接続用設定ファイルの作成

次に CData API Deiver が DS.API を適切に利用できるようにするための設定ファイルを作成します。

以下のURLから保存してください。

https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/APIProfiles/YahooDSAPI.apip

保存先フォルダは後ほど使用するので「C:\API Profiles」といった任意のフォルダに配置してください。

f:id:sugimomoto:20201222153417p:plain

CData API Driver for Excel のインストール

Excel と DS.API を繋ぐために必要となるCData API Driver for Excelをインストールします。

f:id:sugimomoto:20201222153424p:plain

まず、以下のURLからCData API Driver for Excel の30日間の評価版をダウンロードします。ダウンロードの際には、Emailの登録が必要となります。

https://www.cdata.com/jp/download/download.aspx?sku=FAXF-A&type=demo

ダウンロードしたセットアップファイルを用いてExcelがインストールされているマシンにインストールします。インストールウィザードに従い、EULAを確認した上でインストールを完了します。

f:id:sugimomoto:20201222153434p:plain

※途中、ライセンスサーバーへのオンラインアクティベーションが行われるためネットワーク環境に接続されている必要があります。

インストールが完了すると、Excelに「CData」タブが追加されます。

f:id:sugimomoto:20201222153441p:plain

「データの取得」から「取得元:API」を選択し

f:id:sugimomoto:20201222153447p:plain

以下の項目をセットします。

プロパティ名 概要 入力例
Profile API Profile のファイルパス C:\API Profiles\YahooDSAPI.apip
ProfileSettings DS.API のアプリケーションID(APIKey)と検索キーワード(SearchKeyword)を指定 APIKey=XXXXX;SearchKeyword=apple;

f:id:sugimomoto:20201222153453p:plain

入力後、接続テストをクリックし、以下のようにメッセージが表示されればOKです。

以上で、CData API Driver for Excel の準備は完了です。

SearchRankingを取得してみる

それでは実際に DS.APIからデータを取得してみましょう。

今回は指定キーワードに関連するキーワードの情報をランキング形式で取得できる「Search Ranking API」を使ってみます。

テーブル一覧から「SearchRanking」を選択します。

f:id:sugimomoto:20201222153459p:plain

以下の画面が表示されたらそのまま「OK」をクリックします。

f:id:sugimomoto:20201222153505p:plain

クリック後、接続プロパティで指定した検索ワード(今回はAppleを指定しました)で、関連する検索ワードのランキングが表示されます。

ちょうどAppleのイベントがあったばかりなので、「apple 発表会 2020」などのワードが上位に出ていることがわかりますね。

f:id:sugimomoto:20201222153514p:plain

あとはピボットグラフなどを使って、分析しデータの活用に繋げることができます。

以下はキーワード毎の年代別の検索ボリュームを可視化してみたものです。

f:id:sugimomoto:20201222153828p:plain

なお、このSearchRankingは以下のSearchPeriodやSearchDateの項目を利用することで、より細かな検索を行うことも可能です。

f:id:sugimomoto:20201222155925p:plain

おわりに

本記事では Excel をもとに解説しましたが、CData API DriverではExcel 以外にも様々なBIツールやアナリティクスツールの接続をサポートしています。

以下のURLで各ツールの接続リファレンスを公開していますので、普段使っているツールから是非試してみてください。

https://www.cdata.com/jp/drivers/rest/

f:id:sugimomoto:20200115120402p:plain

トライアル・お問い合わせ

関連コンテンツ