查询

创建查询

查询允许您根据条件选择目标。 您可以将段代码与查询结果关联,并在其中插入其他数据。
有关查询示例的详细信息,请参阅此本部分

注意

查询活动在使用Oracle时与CLOB字段不兼容。

有关使用和管理其他数据的详细信息,请参阅添加数据

Edit query…​链接允许您通过以下方式定义人口的定位类型、限制和选择标准:

  1. 选择定位和过滤维度。 默认情况下,目标从收件人中选择。 限制过滤器的列表与用于投放定位的相同。

    该定位维度与我们将处理的元素类型一致,例如操作所针对的人口。

    过滤维度能够收集这些要素,例如与目标人有关的信息(合同、全额和最终结算等)。

    有关详细信息,请参阅定位和过滤维度

    查询可以根据入站过渡中的数据(如果需要),在选择定位和过滤维度时选择​Temporary schema

  2. 使用向导定义人口。 要输入的字段可能因目标类型而异。 您可以使用​Preview​选项卡将目标人口与当前条件预览。

    有关创建和使用过滤器或查询的详细信息,请参阅此部分

  3. 如果您在步骤1中选择了​Filtering conditions​或使用​Filters > Advanced filter…​选项,则以后必须手动添加筛选条件。

    您还可以通过选中相应的框来添加数据分组条件。 为此,过滤维度必须与查询的定位维度不同。 有关分组的详细信息,请参阅此部分

    您还可以使用表达式生成器并将其与逻辑选项AND、OR和EXCEPT组合,来添加更多条件。 然后,您可以预览​Corresponding SQL query…​作为条件组合。 有关详细信息,请参阅此部分

    如果您希望稍后重新使用过滤器,请保存过滤器。

添加数据

通过附加的列,您可以收集有关目标人口的其他信息,例如合同编号、新闻稿或来源的订阅。 此数据可以存储在Adobe Campaign数据库或外部数据库中。

Add data…​链接允许您选择要收集的其他数据。

开始:

  • 选择​Data linked to the filtering dimension​以选择Adobe Campaign数据库中的数据。
  • 选择​External data​以从外部数据库添加数据。 仅当您购买了​联合数据访问​选项时,此选项才可用。 有关详细信息,请参阅访问外部数据库(联合数据访问)
  • 选择​An offer proposition​选项可添加一组列,这些列可存储由优惠引擎生成的最佳主张。 仅当您购买了​Interaction​模块时,此选项才可用。

如果平台上未安装可选模块,则不显示此阶段。 你会被带到下一个阶段。

要从Adobe Campaign数据库添加数据,请执行以下操作:

  1. 选择要添加的数据类型。 这可以是属于过滤维度的数据或存储在链接表中的数据。

  2. 如果查询属于该过滤维度,只需在可用字段的列表中选择该数据,即可在输出列中显示该数据。

    您可以添加:

    • 根据从目标人口或聚合取得的数据(上个月的待定购买数、接收的平均金额等)计算的字段。 例如,转到选择数据

    • 使用输出列列表右侧的​Add​按钮创建的新字段。

      您还可以添加信息集合,例如合同列表、最后5个投放等。 集合与可具有相同用户档案(1-N关系)的多个值的字段相符。 有关详细信息,请参阅编辑其他数据

要添加链接到目标人群的信息集合,请执行以下操作:

  1. 在向导的第一步,选择​Data linked to the filtering dimension​选项:

  2. 选择包含要收集的信息的表,然后单击​Next

  3. 如有必要,请通过在​Data collected​字段中选择一个值来指定要保留的集合元素数。 默认情况下,将恢复集合的所有行,然后根据在以下步骤中指定的条件进行筛选。

    • 如果集合的单个元素与此集合的筛选条件一致,请在​Data collected​字段中选择​Single row

      重要

      此模式将优化由于集合元素上的直接接合而生成的SQL查询。

      如果不遵守初始条件,结果可能有缺陷(缺少线或重叠线)。

    • 如果选择恢复多行(Limit the line count),则可指定要收集的行数。

    • 如果收集的列包含聚合,例如已声明的故障数、站点平均支出等。 可以使用​Aggregates​值。

  4. 指定集合的子选项。 例如:仅限最近15天内购买。

  5. 如果已选择​Limit the line count​选项,请定义过滤所收集数据的顺序。 收集的行数超过您指定保留的行数后,筛选顺序便允许您指定要保留的行。

示例:根据简单收件人属性进行定位

在下例中,查询试图查明居住在法国的18至30岁男子。 此查询将用于旨在使其成为例如专用优惠的工作流。

注意

本节中显示了其他查询示例。

  1. 命名查询,然后选择​Edit query…​链接。

  2. 在可用筛选器类型列表中选择​Filtering conditions

  3. 为建议的目标输入不同的标准。 此处的标准是使用AND选项组合的。 要被纳入选定,收件人必须满足以下四个条件:

    • 标题为“Mr”的收件人(也可使用​Gender​字段并选择​Male​作为值)。
    • 收件人30岁以下。
    • 收件人,年仅18岁。
    • 收件人住在法国。

    您可以视图符合条件组合的SQL:

  4. 您可以通过在相关选项卡中预览与您的收件人匹配的查询来检查标准是否正确:

  5. 保存您的过滤器,以便在以后的日期再次使用它们,方法是单击​Finish > OK

  6. 通过向工作流中添加其他活动,继续编辑工作流。 启动它并完成上一个查询步骤后,将显示找到的收件人数。 您可以使用鼠标弹出菜单显示更多详细信息(右键单击过渡> Display the target…)。

输出参数

  • tableName
  • 模式
  • recCount

这三个值集标识查询所针对的人口。 tableName 是记录目标标识符的表的名称, schema 是人口的模式(通常是nms: recCount 收件人),是表中元素的数量。

此值是工作表的模式。 此参数对于具有​tableName​和​schema​的所有过渡都有效。

优化查询

以下部分提供了优化在Adobe Campaign上运行的查询的最佳实践,以限制数据库的工作量并改善用户体验。

连接和索引

  • 高效的查询依赖索引。

  • 对所有联接使用索引。

  • 在模式上定义链接将确定连接条件。 链接的表在主键上应有唯一的索引,连接应在此字段上。

  • 通过在数字字段而不是字符串字段上定义键来执行联接。

  • 避免执行外部连接。 尽可能使用零ID记录来实现外部连接功能。

  • 为联接使用正确的数据类型。

    确保where子句与字段的类型相同。

    一个常见的错误是:iBlacklist='3'其中iBlacklist是数字字段,3表示文本值。

    确保您知道查询的执行计划。 避免全表扫描,尤其是实时查询或几乎每分钟运行的实时查询。

有关详细信息,请参阅数据模型最佳实践数据库映射部分。

函数

  • 注意Lower(...)等函数。 使用Lower函数时,不使用Index。

  • 使用“like”指令或“upper”或“lower”指令仔细检查查询。 在用户输入上应用“Upper”,而不是在数据库字段上应用。

    有关函数的详细信息,请参阅本节

过滤维度

使用查询的过滤维度,而不是使用“exists sok”运算符。

在查询中,过滤器中的“exists such”条件无效。 它们等同于SQL中的子查询:

select iRecipientId from nmsRecipient where iRecipientId IN (select iRecipientId from nmsBroadLog where (...))

最佳做法是改用查询的过滤维度:

SQL中的过滤维度等效于内部连接:

select iRecipientId from nmsRecipient INNER JOIN nmsBroadLog ON (...)

有关过滤维度的详细信息,请参阅此部分

架构

  • 构建一个与生产平台具有相似体积、参数和架构的开发平台。

  • 对开发和生产环境使用相同的值。 尽可能使用相同的功能:

    • 操作系统,
    • 版本、
    • 数据、
    • 应用程序、
    • 卷。
    注意

    在开发环境中有效的功能在数据可能不同的生产环境中可能无效。 尝试确定主要差异,以预测风险并准备解决方案。

  • 设置与目标卷匹配的配置。 大型卷需要特定的配置。 适用于100,000个收件人的配置可能不适用于10,000,000个收件人。

    考虑系统在运行时将如何缩放。 仅仅因为某种东西在小规模上有效并不意味着它适合更大的体积。 测试应使用与生产量相似的卷。 您还应评估在高峰时间、高峰时间以及整个项目生命周期中卷(调用数量、数据库大小)更改的影响。

On this page

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now