Customer Journey Analytics BI 拡張機能
Customer Journey Analytics BI extension を使用すると、Customer Journey Analytics で定義したデータビューへの SQL アクセスが可能になります。データエンジニアやアナリストは、Power BI、Tableau Desktop またはその他のビジネスインテリジェンスツールやビジュアライゼーションツール(以降、BI ツールと呼びます)に精通している可能性があります。Customer Journey Analytics ユーザーが Analysis Workspace プロジェクトを作成する際に使用しているものと同じデータビューに基づいて、レポートおよびダッシュボードを作成できるようになりました。
Adobe Experience Platform クエリサービスは、Experience Platform のデータレイクで使用可能なデータへの SQL インターフェイスです。Customer Journey Analytics BI extension を有効にすると、Query Service の機能が拡張され、Customer Journey Analytics データビューを Query Service セッションのテーブルまたはビューとして表示できるようになります。その結果、Query Service を PostgresSQL インターフェイスとして使用するビジネスインテリジェンスツールは、この拡張機能のメリットをシームレスに受けられます。
主なメリットは次のとおりです。
- BI ツール自体内で Customer Journey Analytics データビューの同等の表示域を再作成する必要はありません。
再作成する必要がある項目を理解するためのデータビューの機能について詳しくは、データビューを参照してください。 - BI ツールと Customer Journey Analytics 間のレポートと分析の一貫性が向上します。
- Customer Journey Analytics データを、BI ツールで既に使用可能な他のデータソースと組み合わせます。
前提条件
この機能を使用するには、有効期限のある資格情報または無期限の資格情報を使用して、BI ツールを Customer Journey Analytics BI extension に接続できます。資格情報ガイドでは、有効期限のある資格情報または無期限の資格情報の設定について詳しく説明します。
CJA 権限を設定するための追加手順を以下に示します
資格情報の期限切れ
有効期限のある資格情報を使用するには、次の操作を実行します。
- Experience Platform と Customer Journey Analytics へのアクセス権を付与します。
- 製品管理者に Customer Journey Analytics へのアクセス権を付与して、接続とデータビューを表示、編集、更新または削除できるようにします。
または、次の操作を実行します。
- アクセスするデータビューへのアクセス権を付与します。
- Customer Journey Analytics BI 拡張機能へのアクセス権を付与します。
無期限の資格情報
無期限の資格情報を使用するには:
- 無期限の資格情報を Experience Platform に作成します。
- 有効期限のある資格情報に記載されている手順に従って、無期限の資格情報へのアクセス権を付与します。
詳しくは、カスタマージャーニーのアクセス制御を参照してください。特に、製品管理者の追加の権限と Adobe Admin Console の Customer Journey Analytics 権限を参照してください。
使用状況
Customer Journey Analytics BI extension 機能を使用するには、SQL を直接使用することも、特定の BI ツールで使用可能なドラッグ&ドロップエクスペリエンスを使用することもできます。
SQL
この機能は、クエリエディターまたは標準の PostgreSQL コマンドラインインターフェイス(CLI)クライアントを使用して SQL 文で直接使用できます。
Adobe Experience Platform の場合:
-
左側のパネルの データ管理 から「クエリ」を選択します。
-
-
データベース ドロップダウンメニューのデータベースのリストから、サンドボックスの
cja
データベースを選択します。例:prod:cja
。 -
クエリを実行するには、SQL 文を入力し、
[SHIFT]
+[ENTER]
キーを押します)。
-
Adobe Experience Platform で PostgresQL 資格情報を検索してコピーします。
-
左側のパネル(データ管理 の下)から「クエリ」を選択します。
-
上部のバーから「資格情報」を選択します。
-
データベース ドロップダウンメニューのデータベースのリストから、サンドボックスの
cja
データベースを選択します。例:prod:cja
。 -
コマンド文字列をコピーするには、「 PSQL コマンド」セクションの
-
-
コマンドウィンドウまたはターミナルウィンドウを開きます。
-
ログインしてクエリの実行を開始するには、ターミナルにコマンド文字列をペーストします。
詳しくは、クエリエディター UI ガイドを参照してください。
BI ツール
現在、Customer Journey Analytics BI extension は、以下に示すツールでサポートおよびテストされています。PSQL インターフェイスを使用する他の BI ツールも同様に機能する可能性がありますが、まだ正式にはサポートされていません。
-
Adobe Experience Platform で PostgresSQL 資格情報の詳細を参照します。
-
左側のパネル(データ管理 の下)から「クエリ」を選択します。
-
上部のバーから「資格情報」を選択します。
-
データベース ドロップダウンメニューのデータベースのリストから、サンドボックスの
cja
データベースを選択します。例:prod:cja
。 -
Power BI で必要に応じて
-
-
Power BI の場合:
-
メインウィンドウで、上部のツールバーから「データを取得」を選択します。
-
左側のパネルで「その他…」を選択します。
-
データを取得 画面で
PostgresSQL
を検索し、リストから 「 PostgreSQL データベース」を選択します。 -
PostgreSQL データベース ダイアログの場合:
-
Experience Platform クエリ資格情報の ホスト パラメーターを「サーバー」テキストフィールドにペーストします。
-
Experience Platform クエリ資格情報の データベース パラメーターを「データベース」テキストフィールドにペーストします。
?FLATTEN
を データベース パラメーターに追加すると、例えば、prod:cja?FLATTEN
のように読み込まれます。詳しくは、サードパーティの BI ツールで使用するネストされたデータ構造のフラット化を参照してください。 -
データ接続 モードを求められたら、「直接クエリ」を選択します。
-
ユーザー名 と パスワード の入力を求められます。Experience Platform クエリ資格情報の同等のパラメーターを使用します。
-
-
ログインに成功すると、Power BI の ナビゲーター に Customer Journey Analytics データビューテーブルが表示されます。
-
使用するデータビューテーブルを選択し、「読み込み」を選択します。
選択した 1 つ以上のテーブルに関連付けられたすべてのディメンションと指標が右側のパネルに表示され、ビジュアライゼーションで使用できるようになります。
詳しくは、クエリサービスへの Power BI の接続を参照してください。例について詳しくは、BI 拡張機能のユースケースも参照してください。
-
-
Adobe Experience Platform で PostgresSQL 資格情報の詳細を参照します。
-
左側のパネル(データ管理 の下)から「クエリ」を選択します。
-
上部のバーから「資格情報」を選択します。
-
データベース ドロップダウンメニューのデータベースのリストから、サンドボックスの
cja
データベースを選択します。例:prod:cja
。 -
Tableau Desktop で必要に応じて
-
-
Tableau Desktop の場合:
-
左側のパネルの サーバーへ から「その他」を選択します。
-
リストから「 PostgreSQL 」を選択します。
-
PostgreSQL ダイアログの場合:
-
Experience Platform クエリ資格情報の ホスト パラメーターを「サーバー」テキストフィールドにペーストします。
-
Experience Platform クエリ資格情報の ポート パラメーターを「ポート」テキストフィールドにペーストします。
-
Experience Platform クエリ資格情報の データベース パラメーターを「データベース」テキストフィールドにペーストします。
%3FFLATTEN
を データベース パラメーターに追加すると、例えば、prod:cja%3FFLATTEN
のように読み込まれます。詳しくは、サードパーティの BI ツールで使用するネストされたデータ構造のフラット化を参照してください。 -
認証 リストから ユーザー名とパスワード を選択します。
-
Experience Platform クエリ資格情報の ユーザー名 パラメーターを「ユーザー名」テキストフィールドにペーストします。
-
Experience Platform クエリ資格情報の パスワード パラメーターを「パスワード」テキストフィールドにペーストします。
-
「ログイン」を選択します。
-
-
Customer Journey Analytics データビューは、テーブル リストにテーブルとして表示されます。
-
使用するテーブルをキャンバス上でドラッグします。
これで、データビューテーブルのデータを操作して、レポートとビジュアライゼーションを作成できます。
詳しくは、クエリサービスへの Tableau の接続を参照してください。例について詳しくは、BI 拡張機能のユースケースも参照してください。
-
-
Adobe Experience Platform で PostgresSQL 資格情報の詳細を参照します。
-
左側のパネル(データ管理 の下)から「クエリ」を選択します。
-
上部のバーから「資格情報」を選択します。
-
データベース ドロップダウンメニューのデータベースのリストから、サンドボックスの
cja
データベースを選択します。例:prod:cja
。 -
Looker で必要に応じて
-
-
Looker の場合:
- 左側のパネルから「管理」を選択します。
- 「接続」を選択します。
- 「接続を追加」を選択します。
- データベースを Looker に接続 画面で、新しい接続を設定する際に適切な値をペーストします。ダイアレクトとして PostgreSQL 9.5 以降 を選択します。
- 「テスト」を選択して、接続をテストします。
- 成功したら、「更新」を選択して、接続を保存します。
これで、データビューテーブルのデータを操作して、レポートとビジュアライゼーションを作成できます。
詳しくは、クエリサービスへの Looker の接続を参照してください。例について詳しくは、BI 拡張機能のユースケースも参照してください。
-
Adobe Experience Platform で PostgresSQL 資格情報の詳細を参照します。
-
左側のパネル(データ管理 の下)から「クエリ」を選択します。
-
上部のバーから「資格情報」を選択します。
-
データベース ドロップダウンメニューのデータベースのリストから、サンドボックスの
cja
データベースを選択します。例:prod:cja
。 -
Jupyter Notebook で必要に応じて
-
-
Jupyter Notebook の場合:
- 必要なライブラリを使用していることを確認します。
- 接続を設定して実行する際は、適切な値を使用します。
- 関連するクエリを実行して、接続をテストします。
成功したら、データを操作して、レポートとビジュアライゼーションを作成できます。
詳しくは、クエリサービスへの Jupyter Notebook の接続を参照してください。例について詳しくは、BI 拡張機能のユースケースも参照してください。
-
Adobe Experience Platform で PostgresSQL 資格情報の詳細を参照します。
-
左側のパネル(データ管理 の下)から「クエリ」を選択します。
-
上部のバーから「資格情報」を選択します。
-
データベース ドロップダウンメニューのデータベースのリストから、サンドボックスの
cja
データベースを選択します。例:prod:cja
。 -
Jupyter Notebook で必要に応じて
-
-
RStudio の場合:
- 必要なライブラリを使用していることを確認します。
- 接続を設定して実行する際は、適切な値を使用します。
- 関連するクエリを実行して、接続をテストします。
成功したら、データを操作して、レポートとビジュアライゼーションを作成できます。
詳しくは、クエリサービスへの RStudio の接続を参照してください。例(代わりに RPostgres パッケージを使用)について詳しくは、BI 拡張機能のユースケースも参照してください。
使用可能な様々なツールの概要と詳細情報については、クエリサービスへのクライアントの接続を参照してください。
Customer Journey Analytics BI 拡張機能を使用して様々なユースケースを達成する方法について詳しくは、ユースケースを参照してください。
機能
デフォルトでは、データビューには、わかりやすい名前から生成されたテーブルセーフ名が付けられます。例えば、マイ web データビューという名前のデータビューのビュー名は my_web_data_view
です。データビューの BI ツールで使用する優先名を定義できます。詳しくは、データビュー設定を参照してください。
データビュー ID をテーブル名として使用する場合は、接続時にデータベース名にオプションの CJA_USE_IDS
設定を追加できます。例えば、prod:cja?CJA_USE_IDS
は、dv_ABC123
のような名前でデータビューを表示します。
データガバナンス
Customer Journey Analytics のデータガバナンス関連の設定は、Adobe Experience Platform から継承されます。Customer Journey Analytics と Adobe Experience Platform のデータガバナンスの統合により、機密性の高い Customer Journey Analytics データのラベル付けとプライバシーポリシーの実施が可能になります。
Experience Platform で使用されるデータセットに関して作成されたプライバシーラベルおよびポリシーは、Adobe Customer Journey Analytics データビューワークフローで表示できます。したがって、Customer Journey Analytics BI extension を使用してクエリされたデータは、定義されたプライバシーラベルとポリシーに準拠していない場合、適切な警告またはエラーを表示します。
データビューのリスト
標準の PostgreSQL CLI では、\dv
を使用してビューをリストできます
prod:all=> \dv
List of relations
Schema | Name | Type | Owner
--------+--------------------------------------------+------+----------
public | my_web_data_view | view | postgres
public | my_mobile_data_view | view | postgres
ネスト化とフラット化
デフォルトでは、データビューのスキーマは、元の XDM スキーマと同様に、ネストされた構造を使用します。また、この統合では、FLATTEN
オプションもサポートされています。このオプションを使用すると、データビュー(およびセッション内の他のテーブル)のスキーマを強制的にフラット化できます。フラット化により、構造化スキーマをサポートしていない BI ツールでも簡単に使用できるようになります。詳しくは、クエリサービスでのネストされたデータ構造の操作を参照してください。
デフォルトと制限
BI 拡張機能を使用する場合、次の追加のデフォルトと制限が適用されます。
-
BI 拡張機能には、クエリ結果の行制限が必要です。デフォルトは 50 ですが、SQL で
LIMIT n
を使用して上書きできます。n
は 1~50000 です。 -
BI 拡張機能には、計算に使用する行を制限するために日付範囲が必要です。デフォルトは過去 30 日間ですが、特別な
timestamp
列またはdaterange
列を使用して、SQLWHERE
句で上書きできます。 -
BI 拡張機能には、集約クエリが必要です。
SELECT * FROM ...
のような SQL を使用して、生の基になる行を取得できません。大まかに言うと、集計クエリでは以下を使用する必要があります。-
SUM
やCOUNT
を使用して合計を選択します。
例:SELECT SUM(metric1), COUNT(*) FROM ...
-
ディメンション別に分類された指標を選択します。
例:SELECT dimension1, SUM(metric1), COUNT(*) FROM ... GROUP BY dimension1
-
個別の指標値を選択します。
例:SELECT DISTINCT dimension1 FROM ...
詳しくは、サポートされる SQL を参照してください。
-
サポートされる SQL
サポートされている SQL のタイプの完全なリファレンスについては、クエリサービス SQL リファレンスを参照してください。
使用可能な SQL の例については、次の表を参照してください。
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 layout-auto | |||||||
---|---|---|---|---|---|---|---|
パターン | 例 | ||||||
スキーマの検出 |
|
||||||
ランク付けまたは分類 |
|
||||||
HAVING 句 |
|
||||||
個別、上 ディメンション値 |
|
||||||
指標の合計値 |
|
||||||
複数ディメンション 分類 と top-distincts |
|
||||||
副選択: フィルターの追加 件の結果 |
|
||||||
副選択: でのクエリ データビュー |
|
||||||
副選択: 階層型ソース、 フィルター、 および集計 |
サブセレクトを使用してレイヤ化:
CTE と次を使用するレイヤー:
|
||||||
は、 指標が次の値より前 またはと混合される ディメンション |
|
ディメンション
デフォルトで使用可能なディメンションや、データビューで定義されたディメンションを選択できます。ID でディメンションを選択します。
指標
選択できる指標は次のとおりです。
- デフォルトで使用可能な指標。
- データビューで定義する指標。
- ユーザーにアクセス権があるデータビューと互換性のある計算指標。
他の SQL ソースの場合と同様に、SUM(metric)
式に含まれる ID で指標を選択します。
以下が可能です:
個別値のカウント
Customer Journey Analytics の仕組みの基本的な性質により、正確な個別のカウントを取得できる唯一のディメンションは、adobe_personid
ディメンションです。次の SQL 文である SELECT COUNT(DISTINCT adobe_personid)
または SELECT APPROX_COUNT_DISTINCT(adobe_personid)
は、個別の人物の数であるデフォルトのユーザー指標の値を返します。その他のディメンションの場合は、おおよその個別のカウントが返されます。
条件付き指標
SUM
関数または COUNT
関数に IF
句または CASE
句を埋め込むと、選択した指標に固有のセグメント化を追加できます。 これらの句を追加する方法は、Workspaceのレポートテーブルで指標列にセグメントを適用する場合と似ています。
例:
SUM(IF(dim1 = 'X' AND dim2 = 'A', metric1, 0)) AS m1
SUM(CASE WHEN dim1 = 'X' AND dim2 = 'A' THEN metric1 END) AS m1
インライン計算
SELECT
で指標式に追加の計算を適用できます。この計算は、計算指標で計算を定義する代わりに使用できます。次の表に、サポートされる式のタイプを示します。
+
、-
、*
、/
および %
-X
または+X
PI()
POSITIVE
、NEGATIVE
、ABS
、FLOOR
、CEIL
、CEILING
、EXP
、LN
、LOG10
、LOG1P
、SQRT
、CBRT
、DEGREES
、RADIANS
、SIN
、COS
、TAN
、ACOS
、ASIN
、ATAN
、 COSH
、SINH
および TANH
MOD
, POW
, POWER
, ROUND
, LOG
特殊列
タイムスタンプ
timestamp
特殊列は、クエリの日付範囲を指定するために使用されます。日付範囲は、BETWEEN
式または timestamp
>
、>=
、<
、<=
チェックの AND
を組み合わせて定義できます。timestamp
はオプションで、全範囲を指定しない場合は、デフォルトが使用されます。
- 最小値のみを指定している場合(
timestamp > X
またはtimestamp >= X
)、範囲は X から現在までです。 - 最大値のみを指定している場合(
timestamp < X
またはtimestamp <= X
)、範囲は X-30 日から X です。 - 何も指定しない場合、範囲は現在-30 日から現在までです。
タイムスタンプ範囲は、RankRequest の日付範囲グローバルセグメントに変換されます。
また、タイムスタンプフィールドを日時関数で使用して、イベントのタイムスタンプを解析したり切り捨てたりすることもできます。
日付範囲
daterange
の特別な列は timestamp
と同様に機能しますが、セグメント化は 1 日に制限されます。 daterange
もオプションで、timestamp
と同じ範囲のデフォルトが設定されます。
また、daterange
フィールドを日時関数で使用して、イベントの日付を解析したり切り捨てたりすることもできます。
daterangeName
特別列は、Last Quarter
のような名前付き日付範囲を使用してクエリをセグメント化するために使用できます。
daterange
指標(時間、30 分、5 分など)をサポートしていません。Segment ID
filterId
の特別な列はオプションで、外部で定義されたセグメントをクエリに適用するために使用されます。 外部で定義されたセグメントをクエリに適用することは、Workspaceのパネル上でセグメントをドラッグすることに似ています。 複数のセグメント ID を使用する場合は、AND
を付けます。
filterId
と共に filterName
を使用して、ID の代わりにセグメントの名前を使用できます。
Where 句
WHERE
句は、次の 3 つの手順で処理されます。
-
timestamp
、daterange
またはdaterangeName
の特殊フィールドから日付範囲を見つけます。 -
セグメントに含める、外部で定義された
filterId
またはfilterName
を見つけます。 -
残りの式をアドホックセグメントに変換します。
この処理は、WHERE
句の最初のレベルの AND
を解析することによって行われます。最上位の各 AND
式は、上記のいずれかと一致する必要があります。AND
の最初のレベルより深いもの、または WHERE
句で OR
を最上位レベルで使用する場合は、アドホックセグメントとして処理されます。
並べ替え順序
デフォルトでは、クエリは最初に選択された指標によって結果を降順に並べ替えます。ORDER BY ... ASC
または ORDER BY ... DESC
を指定すると、デフォルトの並べ替え順序を上書きできます。ORDER BY
を使用する場合は、最初に選択した指標に対して ORDER BY
を指定する必要があります。
指標の前に -
(マイナス)を使用して順序を入れ替えることもできます。次の 2 つの文の順序は同じになります。
ORDER BY metric1 ASC
ORDER BY -metric1 DESC
一般的な関数のサポート
CAST(`timestamp` AS STRING)
または`timestamp`::string
CAST
関数は無視されます。WHERE `timestamp` >= TIMESTAMP('2022-01-01 00:00:00') AND `timestamp` < TIMESTAMP('2022-01-02 00:00:00')
WHERE
句内で使用するタイムスタンプとして時刻文字列を解析します。WHERE `timestamp` >= TO_TIMESTAMP('01/01/2022', 'MM/dd/yyyy') AND `timestamp` < TO_TIMESTAMP('01/02/2022', 'MM/dd/yyyy')
WHERE
句内で使用するタイムスタンプとして解析し、オプションでその時刻文字列の形式を指定します。WHERE `timestamp` >= DATE('2022-01-01') AND `timestamp` < DATE('2022-01-02')
WHERE
句内で使用するために、日付文字列をタイムスタンプとして解析します。WHERE `timestamp` >= TO_DATE('01/01/2022', 'MM/dd/yyyy') AND `timestamp` < TO_DATE('01/02/2022', 'MM/dd/yyyy')
WHERE
句内で使用するタイムスタンプとして解析し、オプションでその日付文字列の形式を指定します。ディメンション関数のサポート
以下の関数は、SELECT
、WHERE
句または条件付き指標のディメンションで使用できます。
文字列関数
日時関数
SELECT DAYOFWEEK(`timestamp`)
SELECT EXTRACT(MONTH FROM `timestamp`)
サポートされる一部は次のとおりです。
- キーワード:
YEAR
、MONTH
、DAYOFMONTH
、DAYOFWEEK
、DAYOFYEAR
、WEEK
、QUARTER
、HOUR
、MINUTE
。- 文字列:
'YEAR'
、'Y'
、'MONTH'
、'M'
、'DAYOFMONTH'
、'DAY'
、'D'
、'DAYOFWEEK'
、'DOW'
、'DAYOFYEAR'
、'DOY'
、'WEEK'
、'WOY
、'W'
、'QUARTER'
、'QOY'
、'Q'
、'HOUR'
または 'MINUTE'
。SELECT DATE_PART('month', `timestamp`)
サポートされる文字列部分は次のとおりです。
'YEAR'
、'Y'
、'MONTH'
、'M'
、'DAYOFMONTH'
、'DAY'
、'D'
、'DAYOFWEEK'
、'DOW'
、'DAYOFYEAR'
、'DOY'
、'WEEK'
、'WOY
、'W'
、'QUARTER'
、'QOY'
、'Q'
、'HOUR'
または 'MINUTE'
。SELECT DATE_TRUNC('quarter', `timestamp`)
サポートされる文字列の精度は次のとおりです。
'YEAR'
、'Y'
、'MONTH'
、'M'
、'DAYOFMONTH'
、'DAY'
、'D'
、'DAYOFWEEK'
、'DOW'
、'DAYOFYEAR'
、'DOY'
、'WEEK'
、'WOY
、'W'
、'QUARTER'
、'QOY'
、'Q'
、'HOUR'
または 'MINUTE'
。部分的なサポート
一部の SQL 機能は、BI 拡張機能では部分的にのみサポートされており、他のデータベースで表示されるのと同じ結果を返しません。この特定の機能は、BI 拡張機能に完全に一致するものがない様々な BI ツールで生成した SQL で使用されます。その結果、BI 拡張機能は、エラーをスローすることなく最小限の BI ツールの使用を対象とする限定的な実装に焦点を当てています。詳しくは、以下の表を参照してください。
MIN(daterange)
またはMAX(daterange)
timestamp
、daterange
、daterangeday
などの daterangeX
のいずれかに MIN()
を実行すると、2 年前が返されます。timestamp
、daterange
、daterangeday
などの daterangeX
のいずれかに MAX()
を実行すると、現在の日付/時刻が返されます。他のディメンション、指標、式に対するMIN()
または MAX()
は 0 を返します。