Customer Journey Analytics BI 擴充功能

NOTE
您必須擁有 選取 封裝或更新版本,以便使用本節中說明的功能。 如果您不確定您擁有哪個Customer Journey Analytics套件,請聯絡管理員。

Customer Journey Analytics BI extension 讓 SQL 可以存取您在 Customer Journey Analytics 中定義的資料檢視。您的資料工程師和分析師可能更熟悉 Power BI、Tableau 或其他企業情報和視覺化工具 (也稱為 BI 工具)。他們現在可以根據 Customer Journey Analytics 使用者在建立 Analysis Workspace 專案時所使用的相同資料檢視來建立報告和儀表板。

Adobe Experience Platform Query Service 是 SQL 與 Experience Platform 資料湖中可用資料之間的介面。啟用 Customer Journey Analytics BI extension 之後即可延伸 Query Service 的功能,讓您在 Query Service 工作階段中以表格或視圖形式查看 Customer Journey Analytics 資料檢視。因此,使用 Query Service 作為 PostgresSQL 介面的企業情報工具,可以直接立即受益於這項延伸功能。

主要優點包括:

  • 無需在 BI 工具之內重新建立 Customer Journey Analytics 資料檢視的同等呈現形式。
    有關資料檢視功能的更多資訊,請參閱「資料檢視」以了解必須重新建立的內容。
  • BI 工具和 Customer Journey Analytics 之間的報告和分析維持更高的一致性。
  • 結合 Customer Journey Analytics 資料與 BI 工具中已有的其他資料來源。

先決條件

若要使用此功能,您必須:

  • 設定相關產品設定檔、使用者群組和/或個別使用者的功能。存取要求包括:

    • Adobe Experience Platform 查詢服務
    • Customer Journey Analytics 中的 Workspace 專案
    • 所需使用的 CJA 資料檢視
    • 在資料來視工具中存取 BI 擴充功能
  • 使用有到期日或無到期日的認證能將 BI 工具連接到 Customer Journey Analytics BI extension。「認證指南」提供關於設定有到期日的認證或無到期日的認證之詳細資訊。

如需其他資訊,請參閱 Customer Journey Analytics 管理區段的「存取控制」。

使用情況

要使用 Customer Journey Analytics BI extension 功能,您可以直接使用 SQL 或使用特定的 BI 工具所提供的拖放體驗。

SQL

您可以使用查詢編輯器或標準 PostgresSQL 命令列介面 (CLI) 用戶端,直接在 SQL 陳述式中使用該功能。

查詢編輯器

在 Adobe Experience Platform 中:

  1. 在左側邊欄選取「​查詢​」(從「​資料管理​」)。

  2. 選取「 建立查詢 ​建立查詢​」。

  3. 選取「cja ​資料庫​」。

  4. 若要執行查詢,請鍵入 SQL 陳述式並選取「 播放 」按鈕 (或按 [SHIFT] + [ENTER])。

PostgresSQL CLI
  1. 在 Adobe Experience Platform 中,查尋並複製您的 PostgresSQL 認證:

    1. 從左側邊欄選取「​查詢​」(在「​資料管理​」之下)。

    2. 從頂端列選取「​認證​」。

    3. 選取「cja ​資料庫​」。

    4. 要複製命令字串,請使用「 複製 」(在「​ PSQL 指令​」區段)。

  2. 開啟命令或終端機視窗。

  3. 若要登入並開始執行查詢,請將命令字串貼到您的終端。

請參閱「查詢編輯器 UI 指南」以了解更多資訊。

BI 工具

目前, Customer Journey Analytics BI extension 僅支援 Power BI 和 Tableau 並經過測試。其他使用 PSQL 介面的 BI 工具可能也可以運作,但尚未得到正式支援。

Power BI
  1. 在 Adobe Experience Platform 中,查詢 PostgresSQL 認證的詳細資訊:

    1. 從左側邊欄選取「​查詢​」(在「​資料管理​」之下)。

    2. 從頂端列選取「​認證​」。

    3. 選取「cja ​資料庫​」。

    4. 在 Power BI 中需要時,使用「 複製 」複製每個 Postgres 認證參數 (主機、連接埠、資料庫、使用者名稱與其他)。

  2. 在 Power BI 中:

    1. 在主視窗中,從頂端列選取「​取得資料​」。

    2. 在左側邊欄中選取「更多…」。

    3. 在「取得資料」畫面中,搜尋 PostgresSQL,並從清單中選取「​ PostgresSQL 資料庫​」。

    4. 在「​ PostgressSQL 資料庫​」對話方塊中:

      1. 將「​主機​」參數 (取自 Experience Platform 查詢認證) 貼上到「​伺服器​」文字欄位。

      2. 將「​資料庫​」參數 (取自 Experience Platform 查詢認證) 貼上到「​資料庫​」文字欄位。

        ?FLATTEN 新增到「​資料庫​」參數,以便讀起來像 prod:cja?FLATTEN。請參閱「將巢狀資料結構展平以供協力廠商 BI 工具使用」以了解更多資訊。

      3. 當提示「資料連線」模式時,選取 DirectQuery

      4. 系統會提示您輸入「使用者名稱」和「密碼」。使用 Experience Platform 查詢認證的同等參數。

    5. 成功登入之後,Power BI 的​ ​導覽器​ ​中會顯示 Customer Journey Analytics 資料檢視表格。

    6. 選取您要使用的資料檢視表格並選取「​載入​」。

    與一個或多個所選表格關聯的所有維度和指標顯示在右窗格,您隨時可以用於視覺化。

    請參閱「將 Power BI 連接到 Query Service」以了解更多資訊。

Tableau
  1. 在 Adobe Experience Platform 中,查詢 PostgresSQL 認證的詳細資訊:

    1. 從左側邊欄選取「​查詢​」(在「​資料管理​」之下)。

    2. 從頂端列選取「​認證​」。

    3. 選取「 cja ​資料庫​」。

    4. 在 Tableau 中需要時,使用「 複製 」複製每個 Postgres 認證參數 (主機、連接埠、資料庫、使用者名稱與其他)。

  2. 在 Tableau 中:

    1. 在左側邊欄,選取「​更多​」(從「​至伺服器​」)。

    2. 從清單中選取「​ PostgresSQL ​」。

    3. 在「PostgresSQL」對話方塊中:

      1. 將「​主機​」參數 (取自 Experience Platform 查詢認證) 貼上到「​伺服器​」文字欄位。

      2. 將「​連接埠​」參數 (取自 Experience Platform 查詢認證) 貼上到「​連接埠​」文字欄位。

      3. 將「​資料庫​」參數 (取自 Experience Platform 查詢認證) 貼上到「​資料庫​」文字欄位。

        %3FFLATTEN 新增到「​資料庫​」參數,以便讀起來像 prod:cja%3FFLATTEN。請參閱「將巢狀資料結構展平以供協力廠商 BI 工具使用」以了解更多資訊。

      4. 選取「​使用者名稱和密碼​」(從「​驗證​」清單)。

      5. 將「​使用者名稱​」參數 (取自 Experience Platform 查詢認證) 貼上到「​使用者名稱​」文字欄位。

      6. 將「​密碼​」參數 (取自 Experience Platform 查詢認證) 貼上到「​密碼​」文字欄位。

      7. 選取「​登入​」。

    4. Customer Journey Analytics 資料檢視顯示為「​表格​」清單中的表格。

    5. 將想要使用的表格拖曳到畫布上。

    現在您可以使用資料檢視表格中的資料建立報告和視覺化。

    請參閱「將 Tableau 連線到 Query Service」以了解更多資訊。

如需關於各種可用工具的概觀與更多資訊,請參閱「將用戶端連接到 Query Service」。

功能

依預設設定,您的資料檢視具有根據其易記名稱產生的表格適用名稱。例如,資料檢視命名為 我的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 Data Governance 整合後,便可以標記敏感的 Customer Journey Analytics 資料以及執行隱私權原則。

在 Experience Platform 使用的資料集上所建立的隱私權標籤和原則,可以出現在 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 工具變得更容易使用。請參閱「在 Query Service 中使用巢狀資料結構」以了解更多資訊。

支援 SQL

有關支援哪些 SQL 類型的完整參考,請參閱「Query Service 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
模式 範例
結構探索
SELECT * FROM dv1 WHERE 1=0
排名/分解
SELECT dim1, SUM(metric1) AS m1
FROM dv1
WHERE `timestamp` BETWEEN '2022-01-01' AND '2022-01-02'
GROUP BY dim1
SELECT dim1, SUM(metric1) AS m1
FROM dv1
WHERE `timestamp` BETWEEN '2022-01-01' AND '2022-01-02' AND
 filterId = '12345'
GROUP BY dim1
SELECT dim1, SUM(metric1) AS m1
FROM dv1
WHERE `timestamp` BETWEEN '2022-01-01' AND '2022-01-02' AND
 AND (dim2 = 'A' OR dim3 IN ('X', 'Y', 'Z'))
GROUP BY dim1
HAVING 子句
SELECT dim1, SUM(metric1) AS m1
FROM dv1
WHERE `timestamp` BETWEEN '2022-01-01' AND '2022-01-02'
GROUP BY dim1
HAVING m1 > 100
不重複,頂端
維度值
SELECT DISTINCT dim1 FROM dv1
SELECT dim1 AS dv1
FROM dv1
WHERE `timestamp` BETWEEN '2022-01-01' AND '2022-01-02'
GROUP BY dim1
SELECT dim1 AS dv1
FROM dv1
WHERE `timestamp` >= '2022-01-01' AND `timestamp` < '2022-01-02'
GROUP BY dim1
ORDER BY SUM(metric1)
LIMIT 15
量度總計
SELECT SUM(metric1) AS m1
FROM dv1
WHERE `timestamp` BETWEEN '2022-01-01' AND '2022-01-02'
多維度
分解
和頂端不重複
SELECT dim1, dim2, SUM(metric1) AS m1
FROM dv1
WHERE `timestamp` BETWEEN '2022-01-01' AND '2022-01-02'
GROUP BY dim1, dim2
SELECT dim1, dim2, SUM(metric1) AS m1
FROM dv1
WHERE `timestamp` BETWEEN '2022-01-01' AND '2022-01-02'
GROUP BY 1, 2
ORDER BY 1, 2
SELECT DISTINCT dim1, dim2
FROM dv1
子選擇:
篩選其他
結果
SELECT dim1, m1
FROM (
 SELECT dim1, SUM(metric1) AS m1
 FROM dv1
 WHERE `timestamp` BETWEEN '2022-01-01' AND '2022-01-02'
 GROUP BY dim1
)
WHERE dim1 in ('A', 'B')
子選擇:
查詢橫跨
多個資料檢視
SELECT key, SUM(m1) AS total
FROM (
 SELECT dim1 AS key, SUM(metric1) AS m1
 FROM dv1
 WHERE `timestamp` BETWEEN '2022-01-01' AND '2022-01-02'
 GROUP BY dim1

 UNION

 SELECT dim2 AS key, SUM(m1) AS m1
 FROM dv2
 WHERE `timestamp` BETWEEN '2022-01-01' AND '2022-01-02'
 GROUP BY dim2
GROUP BY key
ORDER BY total
子選擇:
分層來源、
篩選
和彙總

使用子選擇分層:

SELECT rows.dim1, SUM(rows.m1) AS total
FROM (
 SELECT _.dim1,_.m1
 FROM (
 SELECT * FROM dv1
 WHERE `timestamp` BETWEEN '2022-01-01' AND '2022-01-02'
 ) _
 WHERE _.dim1 in ('A', 'B', 'C')
) rows
GROUP BY 1
ORDER BY total

使用 CTE WITH 的分層:

列為(
 以_ AS (
 選取*從data_ares
 其中「時間戳記」介於「2021-01-01」和「2021-02-01」之間
 )
 選取_.item, _.units FROM _
 其中_.item不是NULL
)
SELECT rows.item, SUM(rows.units) AS units
FROM列,其中rows.item位於('A', 'B', 'C')
GROUP BY rows.item
選取
量度先於
或混合於
維度者
SELECT SUM(metric1) AS m1, dim1
FROM dv1
WHERE `timestamp` BETWEEN '2022-01-01' AND '2022-01-02'
GROUP BY 2

維度

您可以選取依預設可用或在資料檢視中定義的任何維度。您可以使用維度 ID 來選取維度。

量度

可供選取的量度有:

  • 依預設可用的任何量度;
  • 在資料檢視中已定義;
  • 相容於使用者有權存取之資料檢視的計算量度。

您可以把量度 ID 包含在 SUM(metric) 運算式中來選取量度,就像處理其他 SQL 來源一樣。

您可以使用:

  • SELECT COUNT(*)COUNT(1) 以取得發生次數量度。
  • SELECT COUNT(DISTINCT dimension)SELECT APPROX_COUNT_DISTINCT(dimension) 以計算某個維度的近似不重複值。詳細資訊請參閱「計數不重複值」。
  • 內聯計算可動態組合量度和/或對其進行數學計算。

計算不重複值

由於 Customer Journey Analytics 運作原理的根本性質,可以獲得精確不重複計數的唯一維度是 adobe_personid 維度。以下 SQL 陳述式 SELECT COUNT(DISTINCT adobe_personid) 或者 SELECT APPROX_COUNT_DISTINCT(adobe_personid) 傳回預設人員量度的數值,即不重複人員的計數。對於其他維度,傳回近似的不重複計數。

條件式量度

您可以嵌入一個 IF 或者 CASE 子句在 SUMCOUNT 函數中,以便新增所選量度特定的其他篩選條件。新增這些子句類似於將篩選器套用至工作區報告表格中的量度欄。

範例:

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
變更符號或量度,其中 X 是量度運算式
PI()
π 常數
POSITIVENEGATIVEABSFLOORCEILCEILINGEXPLNLOG10LOG1PSQRTCBRTDEGREESRADIANSSINCOSTANACOSASINATANCOSHSINHTANH
一元數學函數
MOD, POW, POWER, ROUND, LOG
二進位數學函數

特殊欄

時間戳記

timestamp 特殊欄用於提供查詢的日期範圍。日期範圍可用 BETWEEN 運算式或一對 timestamp >>=<<= 檢查項用 AND 連結在一起。
timestamp 是選用的,如果未提供完整範圍,則使用預設值:

  • 如果僅提供最小值 (timestamp > X 或者 timestamp >= X),範圍是從 X 到現在。
  • 如果僅提供最大值 (timestamp < X 或者 timestamp <= X),範圍為 X 減 30 天至 X。
  • 如果未提供任何內容,則範圍是從現在減 30 天至現在。

時間戳記範圍將轉換為 RankedRequest 的日期範圍全域篩選條件。
時間戳記欄位也可以用於「日期時間」函數以剖析或截斷事件時間戳記。

日期範圍

daterange 特別欄的運作原理類似於 timestamp,但是篩選僅限於全天。daterange 也是選用的,而且具有和 timestamp 相同的預設範圍。
daterange 欄位也可以用於「日期時間」函數以剖析或截斷事件日期。

daterangeName 特殊欄可用來使用命名的日期範圍 (例如 Last Quarter) 來篩選查詢。

NOTE
PowerBI不支援 daterange 少於一天的量度(小時、30分鐘、5分鐘等)。

篩選器 ID

filterId 特殊欄是選用的,且用於將外部定義的篩選條件套用至查詢。將外部定義的篩選器套用至查詢,類似於將篩選條件拖曳到工作區的面板上。您可以透過 AND 的方式提供多個篩選條件 ID。

filterId 時,您可以使用 filterName 來使用篩選器名稱而非 ID。

WHERE 子句

WHERE 子句的處理分為三個步驟:

  1. timestampdaterangedaterangeName 特殊欄位尋找日期範圍。

  2. 尋找任何外部定義的 filterIdfilterName 以納入篩選條件。

  3. 將其餘的運算式轉變為臨時篩選條件。

透過剖析第一層的AND (在 WHERE 子句中) 來完成處理。每個用 AND-ed 方式連結的頂層運算式必須與上方其中一個相符。任何比第一層的 AND 更深的東西,或者,如果 WHERE 子句在頂層使用 OR,則作為臨時篩選條件處理。

排序順序

依預設,查詢會依照第一個選取的量度以遞減順序對結果進行排序。您可以透過指定 ORDER BY ... ASCORDER BY ... DESC 覆寫預設的排列順序。如果您使用 ORDER BY,則必須在第一個選定的量度上指定 ORDER BY

您也可以在量度前面使用 - (減號),來反轉順序。下面的兩個陳述式都會產生相同的順序:

ORDER BY metric1 ASC
ORDER BY -metric1 DESC

一般函數支援

函數
範例
詳細資料
Cast
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 子句使用,可選擇提供該日期字串的格式。

維度函數支援

這些函數可以用於 SELECTWHERE 子句中的維度,或條件式量度。

字串函數

函數
範例
詳細資料
Lower
SELECT LOWER(name) AS lower_name
在傳入的欄位上產生動態的維度識別。

日期時間函數

函數
範例
詳細資料
SELECT YEAR(`timestamp`)
在傳入的欄位上產生動態的維度識別。
SELECT MONTH(`timestamp`)
在傳入的欄位上產生動態的維度識別。
SELECT DAY(`timestamp`)
在傳入的欄位上產生動態的維度識別。
星期
SELECT DAYOFWEEK(`timestamp`)
在傳入的欄位上產生動態的維度識別。使用項目 ID 而不是值,因為您需要的是數字而不是易記名稱。
一年當中的第幾天
SELECT DAYOFYEAR(`timestamp`)
在傳入的欄位上產生動態的維度識別。
SELECT WEEK(`timestamp`)
在傳入的欄位上產生動態的維度識別。
季度
SELECT QUARTER(`timestamp`)
在傳入的欄位上產生動態的維度識別。
小時
SELECT HOUR(`timestamp`)
在傳入的欄位上產生動態的維度識別。使用項目 ID 而不是值,因為您需要的是數字而不是易記名稱。
分鐘
SELECT MINUTE(`timestamp`)
在傳入的欄位上產生動態的維度識別。
擷取
SELECT EXTRACT(MONTH FROM `timestamp`)
在傳入的欄位上產生動態的維度識別。對於此函數的某些部分,請使用項目 ID 而不是值,因為您需要的是數字而不是易記名稱。
支援的部份有:
- 關鍵字:YEARMONTHDAYOFMONTHDAYOFWEEKDAYOFYEARWEEKQUARTERHOURMINUTE
- 字串:'YEAR''Y''MONTH''M''DAYOFMONTH''DAY''D''DAYOFWEEK''DOW''DAYOFYEAR''DOY''WEEK''WOY'W''QUARTER''QOY''Q''HOUR''MINUTE'
日期 (部分)
SELECT DATE_PART('month', `timestamp`)
在傳入的欄位上產生動態的維度識別。對於此函數的某些部分,請使用項目 ID 而不是值,因為您需要的是數字而不是易記名稱。
支援的字串部分有:'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'
recommendation-more-help
080e5213-7aa2-40d6-9dba-18945e892f79