SupermetricsAPIを使用してデータをTableauPrepBuilderに接続する[ステップバイステップのチュートリアル]

公開: 2022-01-11

Tableauで実用的で洞察に満ちたレポートを作成するには、十分に準備されたクリーンなデータが必要です。

ただし、企業はさまざまな場所や形式のデータを持っているため、分析のためにデータをクリーニングすることは、重いプロセスになる可能性があります。

それは、TableauがTableau Prep Builderを導入して、データユーザー(深い分析スキルを持たない可能性のあるアナリストやマーケターを含む)がデータを変換できるようにするまでです。

この記事では、SupermetricsAPIを使用してデータをTableauPrep Builderに接続し、そこでデータを活用する方法をいくつか紹介します。

実行する手順は次のとおりです。

  1. TableauPrepBuilderをインストールします
  2. TabPyをインストールして設定します
  3. SupermetricsAPI呼び出しを含む小さなPythonスクリプトを作成します
  4. Tableau Prep Builderでフローを作成します。これにより、Tableau抽出ファイルが作成されます。
SupermetricsAPIをTableauPrepBuilderFlowに接続する方法

完了すると、Supermetrics APIクエリの出力をUnionを介して他のデータソースと組み合わせ、Tableau抽出の増分更新をAPIからのデータでスケジュールできるようになります。

いいですね? 始めましょう!

星

SupermetricsAPIの動作をご覧ください

マーケティングデータをTableau、またはJSONまたはCSV入力をサポートするその他のBIツール、データベース、またはデータウェアハウスにフィードする最も簡単な方法を見つけてください。

無料トライアルを開始

手順1:TableauPrepBuilderをインストールする

Tableau Prep Builderは、Tableauが2018年にリリースしたデータ変換ツールであり、ユーザーが分析用のデータをクリーンアップして準備するのに役立ちます。

Tableau Prep Builderの最も優れている点は、すべてのデータ変換操作を視覚化できることです。 そうすることで、データで何が起こっているかを追跡し、エラーをすばやく特定できるようになります。 その結果、TableauHyperExtractにデータセットが出力されます。これはTableauでレポートを作成するために最適化されています。

Tableau Prep BuilderはTableauスイートで使用できるため、既にアクセスできる場合があります。

設定もとても簡単です。 Tableau Webサイトからダウンロードしてコンピューターにインストールし、最後にライセンスキーを入力するか、無料トライアルを開始するだけです。

ステップ2:TabPyをインストールする

TabPyは、このソリューションに必要な2番目のコンポーネントです。

TabPyは、TableauのPython拡張機能です。 これにより、PythonスクリプトをTableauダッシュボード内で実行できます。最も重要なのは、ここではTableauPrepBuilder内で実行できることです。

インストール手順は、パッケージのGithubにあります。 もちろん、Pythonを機能させるには、最新バージョンのPythonが必要です。 インストールが完了したら、ターミナルウィンドウでバックグラウンドプロセスを実行することにより、TabPyの使用を開始できます。 これは、ポート9004でTableauからの着信要求を実行およびリッスンしていることを示します。

TabPyの最後の準備は、TableauPrepBuilderでTabPyへの接続を構成することです。

必要なオプションは、TableauPrepの[ヘルプ]メニューの[ヘルプ]>[設定とパフォーマンス]>[Analytics拡張接続の管理]にあります。

このガイドでは、これをローカルマシンで設定していることを前提としているため、必要なのは、TabPyがまだ実行中であり、ウィンドウに表示されるポートがTabPyがリッスンしているポートと一致することを確認することだけです。

Tableau Prep Supermetrics API、分析拡張接続

[サインイン]ボタンをクリックすると、完了です。

ステップ3:Pythonスクリプトを設定する

Pythonスクリプトを設定する時が来ました。

あなたがそのステップについて心配している場合でも、そうしないでください。 それはかなり簡単です。 必要なスクリプトには数行のコードが含まれ、そのほとんどはSupermetricsからのAPIリンクです。

これをコピーしてテキストファイルに貼り付け、 「[PLACEHOLDER FORYOURAPILINK]」を独自のリンクに置き換えることもできます。

 import requests import pandas as pd def get_data_to_flow(input): response = requests.get("[PLACEHOLDER FOR YOUR API LINK]") results = response.json() return pd.DataFrame(results['data'][1:], columns=results['data'][0])

これを.py拡張子の付いたファイルとして、簡単に見つけられる場所に保存します。 次の手順でこれを使用します。

次に、Supermetrics Query ManagerでAPIリンクを生成しましょう。そこにいる間に、データのサンプルもCSV形式でダウンロードします。

これを行うには、チームサイトにログインします。

有効なSupermetricsAPIライセンスを使用してSupermetricsQueryManagerにアクセスできることに注意してください。 まだライセンスをお持ちでない場合は、 14日間の無料トライアルを開始してください

次に、「統合」>「クエリマネージャ」を選択します。 画面の左側にサイドバーが表示されます。 そこでクエリの作成を開始します。 この例では、データソースとしてGoogle広告を使用します。 次のフィールドに入力して、クエリの作成を続けます。

  • 日付を選択
  • 指標を選択
  • 寸法で分割
  • フィルタとオプション

完了したら、[実行]をクリックします。 データはプレビューテーブルと生のJSON形式で表示されます。

Tableau Prep Supermetrics API、クエリマネージャー

これは、SupermetricsAPIの使用を開始する方法に関するチュートリアルです。

Tableau Prepは、API応答で提供されるデータ構造を理解するためにこのサンプルを必要とします。

JSON形式の応答で動作するように記述されたPythonスクリプトでそのAPI呼び出しを処理できるようにするため、形式の選択は「Tableau」ではなく「JSON」に設定されていることに注意してください。 次に、結果をCSVファイルとしてエクスポートし(1)、API URLを準備したPythonスクリプトファイルにコピーしました(2)。

Supermetrics APIリンクを貼り付けた後、スクリプトファイルを保存することを忘れないでください!

ステップ4:TableauPrepBuilderですべてをまとめる

もうすぐだ!

SupermetricsAPIからTableauPrepフローにデータを流すには、前の手順でダウンロードしたCSVファイルを接続する必要があります。

Tableau Prep Builderはデータ型に非常に注意を払うため、この手順がないとPythonスクリプトの出力を受け入れません。 CSVファイルは、Supermetrics APIからのデータと同じ構造を持ち、TableauPrepBuilderにその解釈方法を通知します。

Tableau Prep Supermetrics API、接続、テキストファイル

ファイルを選択すると、Tableau Prep Builderは新しいフローを開始し、CSVのコンテンツを読み込みます。 インフォボックスで、フィールドタイプがそれぞれ日付、文字列、数値として正しく解析されていることがわかります。 そしてそれがまさに私たちが望んでいることです。

Tableau Prep Supermetrics API、接続

フローの次のステップとしてスクリプトを追加する必要があります。 これを行うには、CSVファイルを表すボックスの横にあるプラス記号をクリックし、[スクリプト]を選択します。

Tableau Prep Supermetrics API、接続追加

ここでTabPyを使用できます。 したがって、「Tableau Python(TabPy)Server」のラジオボタンがアクティブになっていて、TabPyがまだマシンで実行されていることを確認してください。 次に、前の手順で作成したスクリプトファイルを参照します。

また、Tableau Prep Builderに、そのファイルのどの関数をここで使用するかを指示する必要があります。 この小さなスクリプトには関数が1つしかないため、このガイドに従っている場合は、フィールドに関数名「get_data_to_flow」を入力してください。

Tableau Prep Supermetrics API、接続スクリプト

これらの設定が完了すると、TableauPrepはすぐにSupermetricsAPIクエリの実行を開始する必要があり、データがプレビューウィンドウに表示されます。

おめでとう! これで、SupermetricsAPIからTableauPrepフローにデータが正常に読み込まれました。

TableauPrepBuilderでデータを活用する

APIリンクを編集することで、SupermetricsAPIを介してロードするデータを簡単に制御できます。 それ以外の場合は、Tableauフローでこのデータ入力要素を自由に使用できます。

短いURLを使用している場合は、このドキュメント記事でパラメータを編集する方法を確認できます。

列を追加または削除してデータの形状を変更しない限り、結果を試すことができます。 データの形状を変更する必要がある場合は、Tableau PrepがAPI応答を解釈できるように、それに応じてCSVファイルを変更することを忘れないでください。

それでは、分析にデータを活用するために使用できるTableauPrepBuilderのいくつかの機能について見ていきましょう。

スーパーメトリクスからCSVデータセット(UNION)にデータを追加する

最初にできることは、UNION操作を実行することです。 そのために、Tableau Prep BuilderがAPI出力を解釈するためのサンプルCSVファイルを提供するだけでなく、静的データをインポートする手段としても使用します。

これ以上変更されない一連の履歴データがあると想像してください。 一般的な使用例は、Tableauレポートで使用するメトリックの昨年のデータをエクスポートするだけでなく、毎日更新されるデータセットをこれに追加して最新の状態に保つことです。

たとえば、2020年のGoogle広告データを取得するようにクエリマネージャでクエリを設定し、結果をCSVとしてダウンロードしました。

Tableau Prep Supermetrics API、jsonクエリ

次に、日付セレクターを「昨年」から「年から日付」に変更し、このクエリのAPIリンクをPythonスクリプトファイルにコピーしました。 スクリプトファイルは次のようになります。 私の一意のAPIキーが編集されていることに注意してください。

Tableau Prep Supermetrics API、jsonクエリプレビュー
Tableau Prep Supermetrics API、get_api_data.py

これで、前と同じ手順を実行します。 フローにUNION操作と「出力」を追加する必要があります。

  1. 最初にCSVファイルに接続して、TableauPrepで新しいフローを開始します。
  2. API呼び出し関数を提供するTabPyを使用してCSVの後に「スクリプト」ステップを追加します。
  3. スクリプトの後に「ユニオン」ステップを追加し、CSVステップをクリックしてその上にドラッグし、三角形を形成します。
  4. UNIONの後に「出力」ステップを追加します。
Tableau Prep Supermetrics API、出力関数

ここでフローを実行すると、Tableauプロジェクトのデータソースとして使用できるハイパー抽出が得られます。 また、API呼び出しには相対的な日付範囲(年から日付)があるため、フローを再実行し続けるだけで抽出を更新できます。

出力ファイルをローカルハードドライブに保存するか、TableauServerまたはTableauOnlineに直接公開して、組織内の他のTableauユーザーと共有することもできます。

スーパーメトリクスからのデータによるインクリメンタル抽出の更新

上記の方法は、少量から中規模のデータに最適です。 ただし、APIへのクエリが大きくなり、実行時リソースの観点から要求が厳しくなったら、フローの実行ごとにフルタイムの範囲を要求して前の抽出を上書きするのではなく、データセットの増分更新を実行することをお勧めします。 。

幸い、Tableau Prepには、既存の抽出ファイルを段階的に更新するための組み込みオプションが付属しています。 更新からのデータの新しい行を決定するために、データテーブルのどの列を使用するかを指定する必要があります。 その後、フローが残りの処理を行います。

ただし、Tableau Prep Builderは、スクリプト実行によるデータに対してこれをサポートしていません。

制限を回避し、増分データ更新のための実用的なソリューションを作成する方法は次のとおりです。

プロセスを2つの部分に分割します。

まず、更新を含むTableauHyperExtractを作成します。 次に、それを2番目のステップで実際のデータソースに適用します。 別の抽出ファイルが更新データのソースである場合、抽出の増分更新が実際にサポートされているため、これは重要です。

Tableau Prep、中間抽出の完全更新、および最終抽出フローの増分更新

そこに到達するために、スクリプトを再度含むフローを作成します。 API呼び出しでは相対的な時間範囲を使用して、要求するデータの量を軽量に保ちます。 この例では「過去10日間」を使用します。

Tableau Prep Supermetrics API、クエリマネージャービュー

「リフレッシャー」となる抽出ファイルを作成するには、TableauPrepBuilderのスクリプトについてこれまでに学んだことを使用する必要があります。

ここでは、スクリプトステップの前の入力として既存の抽出ファイルを使用して、それも機能し、使用した最初のCSVファイルがスクリプトを実行するために必要なステップであることを示しました。

UNION操作がない場合、このフローの出力は、スクリプトステップがSupermetricsAPIを介してプルするものになります。

Tableau Prep Supermetrics API、出力関数

この出力ファイルを「increment.hyper」としてドライブに保存したので、いくつかのレポートに使用される公開された抽出を更新する最終フローを設定できます。

Tableau Prep Supermetrics API、抽出機能

これは直感に反するように見えるかもしれません—それは確かに私にとってでした。

Tableau Prep Builderで増分ファイルに接続しています。実行するのは、既に持っていて更新したいファイルを指す「出力」を追加することだけです。

ここでは、2つを分離するフローにオプションのクリーニングステップがあります。 ここで重要なのは、「increment.hyper」ファイルである「Input」でインクリメンタルリフレッシュを有効にすることです。 フローに入ってくる新しい行を検出するために使用されるフィールドを設定する必要があります。 私たちの場合、それは「日付」です。

次に、更新する宛先を指す「出力」を選択し、「入力」の「日付」フィールドを「出力」の対応する「日付」フィールドと照合します。

この設定により、フローを増分更新として実行する新しいオプションが提供されます。 素晴らしい!

Tableau Prep Supermetrics API、出力関数、インクリメンタルリフレッシュ—テーブル選択に追加

このメソッドは、出力ファイルにすでにあるデータをすべて保持します。 これは、数百万行の巨大な抽出物になる可能性があります。この手順では、新しい行を追加するだけです。 これらのフローを作成したら、それらを実行してデータを更新するのに数秒かかります。 結局のところ、現在、SupermetricsAPIにクエリを実行しているのは10日分のデータのみです。

それでおしまい!

Tableau PrepBuilderのデータソースとしてSupermetricsAPIを使用すると、通常はデータウェアハウスを必要とする複雑なデータモデリングタスクを実行できます。

Tableauレポートを強化したい場合は、営業チームにデモを予約するか、SupermetricsAPIの14日間の無料トライアルを開始してください。