通过查询,您可以根据条件选择目标。 您可以将段代码与查询结果关联,并向其中插入附加数据。
有关查询示例的更多信息,请参阅此 此部分.
使用Oracle时,查询活动与CLOB字段不兼容。
有关使用和管理附加数据的更多信息,请参阅 添加数据.
的 Edit query… 链接允许您通过以下方式定义群体的定位类型、限制和选择标准:
选择定向和过滤维度。 默认情况下,会从收件人中选择目标。 限制筛选器的列表与用于投放定位的列表相同。
定向维度与我们要处理的元素类型一致,例如操作所定向的群体。
过滤维度允许收集这些元素,例如与目标人员(合同、完全和最终结算等)相关的信息。
有关更多信息,请参阅 定位和筛选维度.
查询可以根据来自集客过渡的数据(如有必要)通过选择 Temporary schema 选择定位和筛选维度时,会出现以下问题。
使用向导定义群体。 要输入的字段可能因目标类型而异。 您可以使用 Preview 选项卡。
有关创建和使用过滤器或查询的更多信息,请参阅此 部分.
如果已选择 Filtering conditions 在步骤1中或使用 Filters > Advanced filter… 选项,则以后必须手动添加筛选条件。
您还可以通过选中相应的框来添加数据分组条件。 要实现此目的,筛选维度必须与查询的定向维度不同。 有关分组的详细信息,请参阅 部分.
您还可以使用表达式生成器并将其与逻辑选项AND、OR和EXCEPT组合来添加更多标准。 然后,您可以预览 Corresponding SQL query… 的双曲余切值。 如需详细信息,请参阅 部分.
如果您希望稍后重新使用过滤器,请保存该过滤器。
利用额外的列,可收集有关目标群体的其他信息,例如合同编号、新闻稿订阅或来源。 此数据可存储在Adobe Campaign数据库或外部数据库中。
的 Add data… 链接允许您选择要收集的附加数据。
首先,选择要添加的数据类型:
如果平台上未安装可选模块,则不会显示此阶段。 你会被带到下一个阶段。
从Adobe Campaign数据库添加数据:
选择要添加的数据类型。 这可以是属于过滤维度的数据或存储在链接表中的数据。
如果数据属于查询的过滤维度,则只需在可用字段列表中选择该数据即可将其显示在输出列中。
您可以添加:
要添加链接到目标群体的信息集合,请执行以下操作:
在向导的第一步中,选择 Data linked to the filtering dimension 选项:
选择包含要收集的信息的表并单击 Next.
如有必要,请通过选择 Data collected 字段。 默认情况下,将恢复集合的所有行,然后根据下一步中指定的条件进行筛选。
如果收藏集的单个元素与此收藏集的筛选条件一致,请选择 Single row 在 Data collected 字段。
此模式优化了由于集合元素上的直接连接而生成的SQL查询。
如果不遵守初始条件,结果可能有缺陷(缺少线或重叠线)。
如果选择恢复几行(Limit the line count)可指定要收集的行数。
如果收集的列包含聚合,例如声明的失败次数、网站平均支出等。 您可以使用 Aggregates 值。
指定集合的子选项。 例如:仅在过去15天内购买。
如果已选择 Limit the line count 选项,定义收集数据的过滤顺序。 如果收集的行数大于您指定要保留的行数,则可使用筛选顺序指定要保留的行。
在下例中,该查询试图查明18至30岁在法国居住的男子。 此查询将用在旨在使其成为例如专用选件的工作流中。
其他查询示例请参见 此部分.
命名查询,然后选择 Edit query… 链接。
选择 Filtering conditions (在可用过滤器类型列表中)。
为建议的目标输入不同的标准。 此处,使用AND选项组合了标准。 要纳入选择,收件人必须满足以下四个条件:
您可以查看与标准组合匹配的SQL:
您可以通过在相关选项卡中预览与查询匹配的收件人,来检查标准是否正确:
保存过滤器,以便您稍后通过单击 Finish > OK.
通过向工作流中添加其他活动,继续编辑工作流。 启动查询并完成上一个查询步骤后,将显示找到的收件人数。 您可以使用鼠标弹出菜单(右键单击过渡>)显示更多详细信息 Display the target…)。
这组值由三个值组成,用于标识查询所定向的群体。 tableName 是记录目标标识符的表的名称, schema 是群体模式(通常为nms:recipient)和 recCount 是表中的元素数。
此值是工作表的架构。 此参数适用于具有 tableName 和 schema.
以下部分提供了优化在Adobe Campaign上运行的查询以限制数据库工作量并改善用户体验的最佳实践。
有效的查询依赖于索引。
对所有连接使用索引。
在架构上定义链接将确定连接条件。 链接的表应在主键上具有唯一索引,且连接应位于此字段中。
通过在数字字段而不是字符串字段中定义键来执行联接。
避免执行外连接。 尽可能使用零ID记录来实现外部连接功能。
为联接使用正确的数据类型。
确保 where
子句的类型与字段相同。
一个常见的错误是: iBlacklist='3'
where iBlacklist
是数字字段, 3
表示文本值。
确保知道查询的执行计划。 避免进行全表扫描,尤其是实时查询或几乎每分钟运行的实时查询。
有关更多信息,请根据您的Campaign版本,参阅以下章节:
请注意 Lower(...)
. 使用Lower函数时,不使用Index。
使用“like”指令或“upper”或“lower”指令仔细检查查询。 在用户输入上应用“Upper”,而不是在数据库字段上应用。
有关函数的更多信息,请参阅 此部分.
使用查询的过滤维度,而不是使用“存在,如”运算符。
在查询中,过滤器中的“存在,如”条件不有效。 它们等同于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个收件人。
考虑系统在启用时的扩展方式。 仅仅因为某些东西在小规模上起作用,并不意味着它适合于更大的体积。 应使用与生产中的卷类似的卷进行测试。 您还应评估在高峰时间、高峰天以及整个项目生命周期中卷(调用数、数据库大小)更改的影响。