レシピ:BIビジュアライゼーションツール用にデータを準備する

概要

Pendoがより多くのエンタープライズアプリケーションに導入されるにつれ、そのセグメントの顧客基盤は、BIレポート環境に特定のPendoデータを取り込み、そうすることによってPendoデータを単独で可視化したり、自社のデータウェアハウス/データレイクやBIツールを使ってSalesforceやMarketoなどの他のデータソースと結合したいと考えていることがわかりました。

材料(必要なもの)

このレシピでは、目的を達成するために以下のアプリケーションを使用しました。

  • Postmanを使用したPendoAPI(RESTful APIクライアント)- 抽出、変換、読み込みを行うデータの絞り込みに使用します

    注:ご購入が必要です。Pendo APIパッケージはデフォルトでは有効になっておらず、ご購入いただく必要があります。アクセスするには、Pendoの担当者にご相談ください。
  • Xplenty - 抽出、変換、読み込み(ETL)ツールとして使用します
  • Google BigQuery - データウェアハウスとして使用します
注:このレシピは、お客様がBIレポート環境にインポートする準備として、特定のPendoデータを取り込むための出発点を提供することを目的としています。このレシピは、ETL、データウェアハウス、BIビジュアライゼーションの代替ソリューションで再利用できます。

作成方法

説明が終わる頃には、お客様はPendo APIを使ってPendoからデータを取り込み、BigQueryデータウェアハウスに読み込み、Lookerを介して視覚化できるようになります。

パート1. Pendo API

Pendo Aggregationエンドポイントを使用して、データリポジトリに読み込む必要のあるデータを取り込みます。

ステップ1. 以下の情報を使用して、最初のAggregation APIコールを構築します。

Type = Post URL = https://app.pendo.io/api/v1/aggregation Headers: X-Pendo-Integration-Key = your Pendo Integration API Key Content-Type = application/json

postman-headers-ex.png

リクエスト本文:ここで探索しようとしているデータを取り込む集計リクエストの本文を追加します。こちらのETL APIコールのサンプルを参考にしてください。

postman-request-body-ex.png

ステップ2. ETLプロセスとBIツールで使用する正確なデータを取得する必要があるため、APIコールを実行して調整します。

ETL APIコールのサンプルを参考に、適切なコールを見つけてください。

パート2. Xplenty - ソースデータをPendoとして設定する

このパートでは、前のパートで作成したAPIを使用して、データウェアハウスへのPendoデータの抽出、変換、読み込み(ETL)を行います。開始するには、Xplentyにログインし、[新規パッケージ(New Package)]をクリックして、ソースデータとしてPendoを指定します。

xplenty-new-ex.png

ステップ1. 開始するには、ログインして[新規パッケージ(New Package)]を作成してください。

  1. パッケージに名前をつけます
  2. [タイプ(Type)][データフロー(Dataflow)]のままにします
  3. [テンプレート(Template)]空欄のままにします
  4. [パッケージの作成(Create Package)]をクリックします。
xplenty-create-package-ex.png

ステップ2. コンポーネントを追加します

[コンポーネントの追加(Add component)]をクリックします。

xplenty-add-component-ex.png

ステップ3. ソースの宛先を選択します

[ソース(Sources)]の下の [API - Rest API]を選択します

xplenty-source-ex.png

ステップ4. ソースAPIコールを作成します

APIコンポーネントに意味のある名前を付けます。

[認証(Authentication)]セクションで、

  • 認証タイプは「なし(none)」のままにしておきます。

[リクエストと応答(Request & Response)]セクションで、

  1. GETの横にあるドロップ矢印をクリックして、[POST]を選択します
  2. RESTful APIクライアントからAPI URLをコピーし、[POST]の隣にあるURLフィールドに貼り付けます
  3. RESTful APIクライアントのヘッダーからキーの名前と値をコピーし、ヘッダーの下にキーと値として貼り付けます
  4. RESTful APIクライアントからリクエストの本文をコピーして、[本文(Body)]フィールドに貼り付けます
xplenty-source-api-ex.png

[応答(Response)]セクションで、

  1. [応答タイプ(Response type)]タイプをJSONに設定したままにします
  2. ベースレコードのJSONPath式フィールドに$.results[*]と入力します
  3. [次へ(Next)]をクリックします
xplenty-source-api-response-ex.png

応答スキーマの場合:

  • レンダリングしたら、[使用可能なフィールド(Available Fields)][すべて選択(Select all)]をクリックして、[選択したフィールド(Selected Fields)]にすべての列を追加します
注:入力フィールドがレンダリングされるまで、少し時間がかかることがあります(APIが起動し、列の見出しが返されます)。
xplenty-source-avail-fields-ex.png
  • [選択したフィールド(Selected Fields)]へのフィールドの追加が完了したら、[保存(Save)]をクリックします。これにより、API構築インターフェースが終了します。

完成したコンポーネントは次のようになります。

xplenty-component-ex.png

パート2. Xplenty - 送信先をGoogle BigQueryに設定する

ステップ1. [コンポーネントの追加(Add component)]ボタンをクリックし、[宛先(Destinations)]で[Google BigQuery]を選択します。

xplenty-destination-location-ex.png

ステップ2. BigQuery内で対象となる接続を選択し、[次へ(Next)]を選択します。

xplenty-destination-ex.png

ステップ3. 宛先プロパティを追加します

  1. このコンポーネントの名前を入力します
  2. 対象となる接続を選択します
  3. [次へ(Next)]をクリックします
xplenty-destination-2-ex.png

ステップ4. 宛先プロパティを追加します

  1. 作成したい宛先テーブルの名前を入力します
  2. チェックボックスを設定します
  3. データのニーズを満たすオペレーションタイプ
  4. 下にスクロールして[次へ(Next)]をクリックします
xplenty-destination-3-ex.png

ステップ5. 入力内容を宛先テーブルの列にマッピングします

[自動入力(Auto-fill)]ボタンをクリックして入力フィールドを宛先列と一致させ、保存します。

xplenty-save-run-ex.png

ステップ6. ジョブを保存して実行します

[ジョブを保存して実行(Save & Run job)]ボタンをクリックして、作成したものが正常に実行されるかどうかを確認します。

ステップ7. ジョブを実行するクラスターを選択し、[次へ(Next)]をクリックします。

xplenty-choose-cluster-ex.png

ステップ8. 作成したパッケージを選択し、[次へ(Next)]をクリックします

xplenty-choose-package-ex.png

ステップ9. このケースでは、定義するユーザー変数やシステム変数がないため、パッケージング変数の編集ステップをスキップし、[ジョブの実行(Run job)]をクリックします。

xplenty-run-job-ex.png

インターフェースの上部中央に、ジョブが実行されているクラスターを参照するジョブ番号を示す確認メッセージが表示されます。

xplenty-job-message-ex.png

ステータスをリアルタイムで確認できます。

xplenty-job-message-ex.png
注:通常、パッケージに問題がなければ、ステータスは少し経つと0%を超え、その後50%を示します。パッケージに問題がある場合は、少し経つとステータスが0%から失敗(Failed)になります。

ジョブが完了すると、[100%完了(100% Completed)]のステータスが表示されます。[100%実行中(100% Running)]のステータスが表示されている場合は、まだジョブの仕上げ中です。

xplenty-job-completed-ex.png

パート3. Google BigQuery

ステップ1. BigQueryを開き、テーブルを選択してデータを検証します

bigquery-resource-ex.png

ステップ2. テーブルを検証します

すべてが計画どおりに進んでいれば、Xplentyの列に定義したものと一致するスキーマ情報が表示されるはずです。

[クエリテーブル(Query Table)]をクリックします。次に、上部のパネルでクエリを編集してSELECT * FROM…を読み取り、[クエリの実行(Run Query)]をクリックします。

ポップアップが表示されます。[テーブルのプレビューに移動(Go To Table Preview)]を選択します。

bigquery-table-ex.png
  • テーブル名の下のパネルに、読み込んだデータのプレビューが表示されます。
  • 表示されているものが期待どおりのものかどうかを確認します。
    • 期待どおりの結果が得られなかった場合は、APIコールから順にステップをさかのぼり、必要なデータが得られるまで調整します

次のステップ

Google BigQueryなどのデータリポジトリにPendoサブスクリプションからのデータが取り込まれたので、次はBIビジュアライゼーションツールの管理者と協力して、このデータをその環境に組み込みます。BIビジュアライゼーション環境に追加されると、他のデータと結合して、興味深いトレンドや価値あるインサイトなどを特定し、ビジネスの加速と成長に役立てることができます。

Xplentyデータ変換の詳細

Xplenty変換コンポーネント

変換コンポーネントをパッケージに追加する必要があります。[+コンポーネントの追加(+ Add component)]ボタンをクリックして、変換コンポーネントを選択します。

この例では、シンプルな[選択(Select)]変換コンポーネントを使用しています。

xplenty-select-transformation-ex.png

これをパッケージに追加し、アップストリームでソースに接続し、ダウンストリームで宛先データベースに接続して、使用可能なフィールドを更新します。

xplenty-new-package-ex.png

Xplenty変換機能

Xplentyを使用すると変換が簡単になりますが、最初は直感に反する構文になるかもしれません。右のスクリーンショットを見てください...私は、日付変換がToDateに続き、その変換内で列のToStringが続くと予想していました。

xplenty-trans-function-ex.png
注:userIDにSHA256ハッシュを使用することもでき、これはあらゆるPIIデータに最適です。

詳細については、Xplenty変換機能の記事をご覧ください。