Customer Journey Analytics BI 擴充功能

NOTE
您必須有​ Select ​封裝或更新版本,才能使用本節中說明的功能。 如果您不確定自己擁有哪一種 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 工具中已有的其他資料來源。

先決條件

若要使用此功能,您可以使用即將到期或未到期的認證來將BI工具連線至Customer Journey Analytics BI extension。 認證指南提供設定到期認證或不到期認證的詳細資訊。
以下是設定CJA許可權的其他步驟

到期的認證

若要使用即將到期的認證,您可以:

  • 授予Experience Platform和Customer Journey Analytics的存取權。
  • 授與產品管理員對Customer Journey Analytics的存取權,以便您可以檢視、編輯、更新或刪除連線和資料檢視。

或者,您可以:

  • 授予您要存取之資料檢視的存取權。
  • 授予Customer Journey AnalyticsBI擴充功能的存取權。

不會到期的認證

若要使用不會到期的認證:

  • 在Experience Platform中建立不會到期的認證。
  • 依照到期認證中提及的步驟來授與未到期認證的存取權。

如需詳細資訊,請參閱客戶歷程存取控制,特別是產品管理員額外許可權和Admin ConsoleCustomer 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. 成功登入後,Customer Journey Analytics資料檢視表會顯示在Power BIs ​瀏覽器​ ​中。

    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 中使用巢狀資料結構」以了解更多資訊。

預設值和限制

使用BI擴充功能時,適用下列其他預設值和限制:

  • BI擴充功能需要查詢結果的列數限制。 預設值為50,但您可以使用LIMIT n在SQL中覆寫此值,其中n為1 - 50000。

  • BI擴充功能需要日期範圍,以限制用於計算的列。 預設為過去30天,但您可以使用特殊的timestampdaterange資料行覆寫SQL WHERE子句中的預設值。

  • 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 類型的完整參考,請參閱「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
選取* 其中&#39;timestamp&#39;介於'2021-01-01'和'2021-02-01'
 )
從_
選取_.item, _.units FROM _ WHERE _.item不是NULL
)
選取rows.item, SUM(rows.units)作為單位
從列中rows.item在('A', 'B', 'C')
依列群組.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
Power BI不支援少於一天的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'

部分支援

部分SQL功能僅部分支援BI擴充功能,不會傳回您在其他資料庫中看到的相同結果。 此特定功能用於各種BI工具產生的SQL中,而BI擴充功能沒有完全相符專案。 因此,BI擴充功能著重於有限實施,這涵蓋了最低BI工具使用量,而不會擲回錯誤。 如需詳細資訊,請參閱下表。

函數
範例
詳細資料
MIN()和MAX()
MIN(daterange)
MAX(daterange)
timestampdaterange或任何daterangeX (如daterangeday)上的MIN()將在2年前傳回。

timestampdaterange上的MAX()或任何daterangeX (如daterangeday)將傳回目前的日期/時間。任何其他維度、量度或運算式上的

MIN()MAX()將傳回0。
recommendation-more-help
080e5213-7aa2-40d6-9dba-18945e892f79