Customer Journey Analytics BI 扩展
通过 Customer Journey Analytics BI extension,SQL 可访问您在 Customer Journey Analytics 中定义的数据视图。您的数据工程师和分析师可能更熟悉 Power BI、Tableau 或其他商业智能和可视化工具(也称为 BI 工具)。他们现在可以基于 Customer Journey Analytics 用户在创建 Analysis Workspace 项目时使用的相同数据视图来创建报告和仪表板。
Adobe Experience Platform Query Service 是 Experience Platform 数据湖中可用数据的 SQL 接口。启用 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 工具中已有的其他数据源结合起来。
先决条件
要使用此功能,您必须具有:
- 已授予对Experience Platform和Customer Journey Analytics的访问权限。
- 已授予产品管理员访问Customer Journey Analytics的权限,以便您可以查看、编辑、更新或删除连接和数据视图。
- 已授予您要访问的数据视图的访问权限。
- 已授予对CJA BI扩展的访问权限。
- 使用过期或不过期凭据将 BI 工具连接到 Customer Journey Analytics BI extension。凭据指南提供了有关如何设置过期凭据或不过期凭据的更多信息。
请参阅客户历程访问控制以了解详细信息,特别是产品管理员附加权限和Admin Console中的Customer Journey Analytics权限。
使用情况
要使用 Customer Journey Analytics BI extension 功能,您可以直接使用 SQL,也可以使用特定 BI 工具中提供的拖放体验。
SQL
您可以通过查询编辑器或标准 PostgresSQL 命令行界面 (CLI) 客户端直接在 SQL 语句中使用此功能。
在 Adobe Experience Platform 中:
-
在左边栏中的 数据管理 中,选择 查询。
-
选择 创建查询。
-
选择
cja
数据库。 -
要执行查询,请键入 SQL 语句并选择 按钮(或按
[SHIFT]
+[ENTER]
)。
-
在 Adobe Experience Platform 中,找到并复制您的 PostgresSQL 凭据:
-
从左边栏中(数据管理 下),选择 查询。
-
从顶部栏中选择 凭据。
-
选择
cja
数据库。 -
若要复制命令字符串,请使用 PSQL 命令 部分中的 。
-
-
打开命令或终端窗口。
-
要登录并开始执行查询,请将命令字符串粘贴到终端中。
有关详细信息,请参阅查询编辑器UI指南。
BI 工具
目前,Customer Journey Analytics BI extension 仅支持并针对 Power BI 和 Tableau 进行了测试。其他使用 PSQL 接口的 BI 工具也能工作,但尚未获得正式支持。
-
在 Adobe Experience Platform 中,查找 PostgresSQL 凭据的详细信息:
-
从左边栏中(数据管理 下),选择 查询。
-
从顶部栏中选择 凭据。
-
选择
cja
数据库。 -
如果需要,使用 在 Power BI 中复制每个 Postgres 凭据参数(主机、端口、数据库、用户名 等)。
-
-
在 Power BI 中:
-
在主窗口中,从顶部工具栏中选择 获取数据。
-
选择左边栏中的 更多…。
-
在 获取数据 屏幕中,搜索
PostgresSQL
,并从列表中选择 PostgresSQL 数据库。 -
在 PostgressSQL 数据库 对话框中:
-
将Experience Platform查询凭据中的**** Host 参数粘贴到 服务器****文本字段中。
-
将Experience Platform查询凭据中的 数据库 参数粘贴到 数据库 文本字段中。
将
?FLATTEN
添加到 数据库 参数,例如,使其显示内容为prod:cja?FLATTEN
。有关更多信息,请参阅扁平化处理嵌套数据结构以用于第三方 BI 工具。 -
当提示输入 数据连接 模式时,请选择 DirectQuery。
-
系统会提示您输入 用户名 和 密码。使用 Experience Platform 查询凭据中的等效参数。
-
-
成功登录后,Customer Journey Analytics数据视图表将出现在Power BI 导航器 中。
-
选择要使用的数据视图表,然后选择 加载。
与一个或多个选定表关联的所有维度和量度都显示在右窗格中,可供您在可视化图表中使用。
有关更多信息,请参阅将 Power BI 连接到 Query Service。
-
-
在 Adobe Experience Platform 中,查找 PostgresSQL 凭据的详细信息:
-
从左边栏中(数据管理 下),选择 查询。
-
从顶部栏中选择 凭据。
-
选择
cja
数据库。 -
如果需要,使用 在 Tableau 中复制每个 Postgres 凭据参数(主机、端口、数据库、用户名 等)。
-
-
在 Tableau 中:
-
从左边栏中的 至服务器 中选择 更多。
-
从列表中选择 PostgresSQL 。
-
在 PostgresSQL 对话框中:
-
将Experience Platform查询凭据中的 主机 参数粘贴到 服务器 文本字段中。
-
将Experience Platform查询凭据中的 端口 参数粘贴到 端口 文本字段中。
-
将Experience Platform查询凭据中的 数据库 参数粘贴到 数据库 文本字段中。
将
%3FFLATTEN
添加到 数据库 参数,例如,使其显示内容为prod:cja%3FFLATTEN
。有关更多信息,请参阅扁平化处理嵌套数据结构以用于第三方 BI 工具。 -
从 身份验证 列表中选择 用户名和密码。
-
将 Experience Platform 查询凭据中的 用户名 参数粘贴到 用户名 文本字段中。
-
将Experience Platform查询凭据中的 密码 参数粘贴到 密码 文本字段中。
-
选择 登录。
-
-
Customer Journey Analytics 数据视图显示为 表 列表中的表。
-
将要使用的表拖动到画布上。
您现在可以使用数据视图表中的数据来构建报告和可视化图表。
有关更多信息,请参阅将 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 数据管理之间的集成允许标记敏感的 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 | |
---|---|
模式 | 示例 |
架构发现 |
|
排名或细分 |
|
HAVING 字句 |
|
顶部区别 维度值 |
|
量度总计 |
|
多维度 细分 和顶部区别 |
|
子选择: 筛选其他 结果 |
|
子选择:跨数据视图 查询 |
|
子选择: 分层来源, 过滤 和聚合 |
使用子选择进行分层:
使用 CTE WITH 的层:
|
选择 量度位于维度之前 或与维度 混合的情况 |
|
维度
您可以选择默认可用或在数据视图中定义的任何维度。可通过维度 ID 选择维度。
量度
可选择的量度为:
- 默认情况下可用的任何量度;
- 在数据视图中定义;
- 与用户有权访问的数据视图兼容的计算量度。
可通过包含在 SUM(metric)
表达式中的量度 ID 选择量度,就像处理其他 SQL 源一样。
您可以使用:
计算不同的值
由于 Customer Journey Analytics 工作方式的基本特性,您可以获得准确的不同计数的唯一维度是 adobe_personid
维度。以下SQL语句SELECT COUNT(DISTINCT adobe_personid)
或SELECT APPROX_COUNT_DISTINCT(adobe_personid)
返回默认人员量度的值,该量度是不同人员的计数。 对于其他维度,返回近似的非重复计数。
条件量度
可以将 IF
或 CASE
子句嵌入 SUM
或 COUNT
函数中,以添加特定于选定量度的其他过滤。添加这些子句类似于将过滤器应用于 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 天到当前的日期。
时间戳范围将转换为 RankedRequest 中的日期范围全局过滤器。
时间戳字段也可以在日期/时间函数中用于解析或截断事件时间戳。
日期范围
daterange
特殊列的工作方式与timestamp
类似;但筛选限制为全天。 daterange
也是可选的,并具有与 timestamp
相同的范围默认值。daterange
字段也可以在日期/时间函数中用于解析或截断事件日期。
daterangeName
特殊列可用于使用命名的日期范围(例如 Last Quarter
)来过滤查询。
daterange
指标(小时、30分钟、5分钟等)。筛选条件 ID
filterId
特殊列是可选的,用于将外部定义的过滤器应用于查询。将外部定义的过滤器应用于查询类似于将过滤器拖动到 Workspace 中的面板上。AND
可以使用多个筛选器ID。
除了 filterId
,您可以使用 filterName
来使用筛选条件的名称而不是 ID。
WHERE 子句
通过三个步骤处理 WHERE
子句:
-
从
timestamp
、daterange
或daterangeName
特殊字段中查找日期范围。 -
查找要包含在筛选中的任何外部定义的
filterId
或filterName
。 -
将剩余的表达式转变为临时过滤器。
通过解析 WHERE
子句中的 AND
的第一层来进行处理。每个采用 AND
的顶层表达式必须与上述某个表达式匹配。比 AND
的第一层更深入的任何项目(或在 WHERE
子句在顶层使用 OR
时)将处理为临时过滤器。
排序顺序
默认情况下,查询按第一个选定量度以降序顺序对结果进行排序。可以通过指定 ORDER BY ... ASC
或 ORDER BY ... DESC
来覆盖默认排序顺序。如果使用的是 ORDER BY
,则必须在第一个选定量度上指定 ORDER BY
。
还可以在量度前面使用 -
(减号)来颠倒顺序。下面的两个语句都将产生相同的顺序:
ORDER BY metric1 ASC
ORDER BY -metric1 DESC
一般函数支持
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
子句或条件量度中的维度。
String 函数
Date-Time 函数
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'
。