7.2使用查询服务

目标

  • 查找和浏览数据集
  • 了解如何在查询中处理体验数据模型对象和属性

上下文

在本课程中,您将学习如何使用PSQL检索有关可用数据集的信息,如何为Experience Data Model(XDM)编写查询,以及如何使用查询服务和Citi Signal数据集编写您的第一个简单报表查询。

7.2.1基本查询

在此步骤中,您将了解如何检索有关可用数据集的信息,以及如何使用XDM数据集中的查询正确检索数据。

我们在1开头通过Adobe Experience Platform探索的所有数据集也可以通过SQL接口作为表进行访问。 要列出这些表,可以使用​show tables;​命令。

在​PSQL命令行界面​中执行​show tables;。 (请不要忘记以分号结束命令)。

复制命令​show tables;​并在提示符下粘贴该命令:

command-prompt-show-tables.png

您将看到以下结果:

aepenablementfy21:all=> show tables;
                            name                            |        dataSetId         |                            dataSet                             | description | resolved 
------------------------------------------------------------+--------------------------+----------------------------------------------------------------+-------------+----------
 demo_system_event_dataset_for_call_center_global_v1_1      | 5fd1a9dea30603194baeea43 | Demo System - Event Dataset for Call Center (Global v1.1)      |             | false
 demo_system_event_dataset_for_mobile_app_global_v1_1       | 5fd1a9de250e4f194bec84cd | Demo System - Event Dataset for Mobile App (Global v1.1)       |             | false
 demo_system_event_dataset_for_voice_assistants_global_v1_1 | 5fd1a9de49ee76194b85f73c | Demo System - Event Dataset for Voice Assistants (Global v1.1) |             | false
 demo_system_event_dataset_for_website_global_v1_1          | 5fd1a9dee3224d194cdfe786 | Demo System - Event Dataset for Website (Global v1.1)          |             | false
 demo_system_profile_dataset_for_loyalty_global_v1_1        | 5fd1a9de250e4f194bec84cc | Demo System - Profile Dataset for Loyalty (Global v1.1)        |             | false
 demo_system_profile_dataset_for_ml_predictions_global_v1_1 | 5fd1a9de241f58194b0cb117 | Demo System - Profile Dataset for ML Predictions (Global v1.1) |             | false
 demo_system_profile_dataset_for_mobile_app_global_v1_1     | 5fd1a9deddf353194a2e00b7 | Demo System - Profile Dataset for Mobile App (Global v1.1)     |             | false
 demo_system_profile_dataset_for_website_global_v1_1        | 5fd1a9de42a61c194dd7b810 | Demo System - Profile Dataset for Website (Global v1.1)        |             | false
 journey_step_events                                        | 5fd1a7f30268c5194bbb7e5e | Journey Step Events                                            |             | false

在冒号处,按空格键查看结果集的下一页,或输入q以还原到命令提示符。

Platform中的每个数据集都有其对应的“查询服务”表。 您可以通过数据集用户界面找到数据集的表:

ui-dataset-tablename.png

demo_system_event_dataset_for_website_global_v1_1表是与Demo System - Event Schema for Website (Global v1.1)数据集对应的查询服务表。

要查询有关产品在何处被查看的信息,我们将选择​geo​信息。

复制下面的语句,并将其粘贴到​PSQL命令行界面​的提示符处,然后按Enter:

select placecontext.geo
from   demo_system_event_dataset_for_website_global_v1_1
where  eventType = 'commerce.productViews'
and placecontext.geo.countryCode <> ''
limit 1;

在查询结果中,您会注意到体验数据模型(XDM)中的列可能是复杂类型,而不仅仅是标量类型。 在上面的查询中,我们希望确定确实发生​commerce.productViews​的地理位置。 要识别​commerce.productViews,我们必须使用​导航XDM模型。 (点)表示法。

aepenablementfy21:all=> select placecontext.geo
aepenablementfy21:all-> from   demo_system_event_dataset_for_website_global_v1_1
aepenablementfy21:all-> where  eventType = 'commerce.productViews'
aepenablementfy21:all-> and placecontext.geo.countryCode <> ''
aepenablementfy21:all-> limit 1;
                  geo                   
----------------------------------------
 ("(57.4694803,-3.1269422)",Tullich,GB)
(1 row)

请注意,结果是平面对象,而不是单个值? placecontext.geo​对象包含四个属性:模式、国家/地区和城市。 当对象声明为列时,它将以字符串的形式返回整个对象。 XDM架构可能比您熟悉的更复杂,但它非常强大,旨在支持许多解决方案、渠道和用例。

要选择对象的单个属性,请使用​ (点)表示法。

复制下面的语句,并将其粘贴到​PSQL命令行界面​的提示符处:

select placecontext.geo._schema.longitude
      ,placecontext.geo._schema.latitude
      ,placecontext.geo.city
      ,placecontext.geo.countryCode
from   demo_system_event_dataset_for_website_global_v1_1
where  eventType = 'commerce.productViews'
and placecontext.geo.countryCode <> ''
limit 1;

上述查询的结果应当如下所示。
现在,结果是设置了一组简单值:

aepenablementfy21:all=> select placecontext.geo._schema.longitude
aepenablementfy21:all->       ,placecontext.geo._schema.latitude
aepenablementfy21:all->       ,placecontext.geo.city
aepenablementfy21:all->       ,placecontext.geo.countryCode
aepenablementfy21:all-> from   demo_system_event_dataset_for_website_global_v1_1
aepenablementfy21:all-> where  eventType = 'commerce.productViews'
aepenablementfy21:all-> and placecontext.geo.countryCode <> ''
aepenablementfy21:all-> limit 1;
 longitude  |  latitude  |  city   | countrycode 
------------+------------+---------+-------------
 -3.1269422 | 57.4694803 | Tullich | GB
(1 row)

不用担心,有一种轻松的方法可以获取特定资产的路径。 在以下部分中,您将学习如何操作。

您需要编辑查询,因此我们先打开一个编辑器。

在Windows上

单击Windows工具栏中的​search​图标,在​search​字段中键入​notepad,然后单击​notepad​结果:

windows-start-notepad.png

在Mac上

安装Brackets或使用其他您选择的文本编辑器(如果未安装)并按照说明操作。 安装后,通过Mac的焦点搜索搜索并打开​Brackets

将以下语句复制到记事本或括号中:

select your_attribute_path_here
from   demo_system_event_dataset_for_website_global_v1_1
where  eventType = 'commerce.productViews'
and placecontext.geo.countryCode <> ''
limit 1;

返回到Adobe Experience Platform UI(应在浏览器中打开)或导航到https://platform.adobe.com

选择​架构,在​search​字段中输入Demo System - Event Schema for Website (Global v1.1),然后从列表中选择Demo System - Event Schema for Website (Global v1.1) Schema

browse-schema.png

通过单击对象,浏览​演示系统 — 网站事件模式(全局v1.1)​的XDM模型。 展开​placecontextgeo​和​架构​的树。 选择实际属性​longitude​时,您将在突出显示的红色框中看到完整路径。 要复制属性的路径,请单击复制路径图标。

explore-schema-for-path.png

切换到记事本/括号,并从第一行中删除​your_attribute_path_here。 将光标放在第一行上的​选择​之后并粘贴(CTRL-V)。

从记事本/括号中复制修改后的语句,并将其粘贴到​PSQL命令行界面​的提示符中,然后按Enter。

结果应该如下所示:

aepenablementfy21:all=> select placeContext.geo._schema.longitude
aepenablementfy21:all-> from   demo_system_event_dataset_for_website_global_v1_1
aepenablementfy21:all-> where  eventType = 'commerce.productViews'
aepenablementfy21:all-> and placecontext.geo.countryCode <> ''
aepenablementfy21:all-> limit 1;
 longitude  
------------
 -3.1269422

下一步:7.3 — 查询、查询、查询……和流失分析

返回到模块7

返回到所有模块

在此页面上