We’ve migrated our documentation to a new site, which means some URLs have changed.
Audience

Excelの利用

はじめに

このページではMicrosoft ExcelをCxense APIとともに利用する方法をいくつかご紹介します。例えば:

  •  辞書管理ツールとして -- Cxenseプラットフォームはお客様固有の辞書を用いてカスタマイズ(カスタムタクソノミーの適用や検索機能の補完)できますが、これらの辞書はExcelワークブックを用いてアップロードします。アップロードするためのAPIについては例えばこちらで説明しています。

  • APIを使用するための「GUI」として -- Cxenseプラットフォームから取得したデータはExcelでテーブルとして扱うことができます。これによりデータをさらに加工したり(例えばフィルタを掛けたり、他のテーブルと合わせて分析するなど)グラフ化することが可能です。この方法について説明するのがこのページの主な目的です。

Power Query

以下ではPower QueryのExcel用アドインが使用可能なWindows上にインストールされているMicrosoft Excelを使用していることを前提としています。このアドインは以前はData Explorerとして知られていました。

Cxense APIからMicrosoft Excelにデータをインポートするには、以下の手順を実施します:

  1. Power QueryのExcel用アドインをダウンロードしてインストールします。

  2. ExcelへインポートするためのPersistedリクエストを作成します。Persistedリクエストを使用するのは、Power QueryアドインがAPI経由でデータを取得する際に認証を回避するためです。Persistedリクエストを作成するには以下の2つの方法があります:

    1. /persisted/create APIを使用する

    2. admin.cxense.comのGUI上の"API"タブを使用する

  3. Persistedリクエストを作成すると、/persisted/execute APIで使用するIDが得られます。以下の手順ではこのIDがabc123であるとして記載します。

  4. ExcelのPower Queryアドインのメニューにおいて"From Web"を選択します。

  5.  表示されたダイアログ上で、PersistedリクエストのURL https://api.cxense.com/persisted/execute?persisted=abc123 (abc123を実際のIDに置き換えてください) を入力します。Persistedリクエストをパラメータ可変で作成した場合にはURLにそのパラメータも加えてください。

  6. "OK"ボタンをクリックしてインポートウィザードにしたがってAPIのJSON応答をどのようにテーブルに配置するかを設定します。

CSV

以下では jq コマンドラインツールがインストール済みで、Cxenseの cx.py スクリプトを使用していることを前提としています。

もう一つのオプションはCxense APIから取得したデータをCSVファイルにエクスポートすることです。Cxense APIはJSON形式でデータを返しますが、jq のようなツールでCSVフォーマットに変換することができます。

$ python cx.py /traffic/event '{"start":"-7d","siteId":"246808642","groups":["city","region","country"],"count":3 }' | jq -r ".groups[]|.group as $groupname|.items[]|[$groupname,.item,.data.events]|@csv"
"region","rio de janeiro",2037
"region","hubei",2016
"region","london",1986
"country","us",5212
"country","cn",4048
"country","au",4030
"city","wuhan",2016
"city","london",1986
"city","zurich",198


$ python cx.py /segment/read '{"siteGroupId":"123456789"}' | jq -r ".segments[]|if .active then [.id,.name] else [] end|@csv"
"12ftof3bog7u","UK Users"
"hg8940e4tb6c","UK Business Users"
"k0iq40e4tb6d","UK Tech Readers"
"99gg7jpwxyh1","UK Practice Users"


# Here we merge the nested JSON response for history timestamps,
# events and unique user counts into a single table.
$ python cx.py /traffic '{"start":"-6h","siteId":"246808642","fields":["events","uniqueUsers"],"historyFields":["events","uniqueUsers"],"historyResolution":"hour"}' | jq -r ".historyData as $hd| range(0; $hd.events|length) as $idx | [.history[$idx], $hd.events[$idx], $hd.uniqueUsers[$idx], $hd.sessionStarts[$idx]]|@csv"
1425014990,15424,4318,
1425018590,22019,6547,
1425022190,24026,7248,
1425025790,21008,6989,
1425029390,19716,7477,
1425032990,18759,7278,


Last updated: