使用多对多关系进行查询 querying-using-a-many-to-many-relationship

在本例中,我们要恢复过去7天内未联系的收件人。 此查询涉及所有投放。

此示例还说明如何配置与选择收集要素(或橙色节点)相关的过滤器。 收藏集元素在​ Field to select ​窗口中可用。

  • 需要选择哪个表?

    收件人表(nms:recipient)

  • 要为输出列选择的字段

    主键、姓氏、名字和电子邮件

  • 根据过滤信息的标准

    基于今天之前7天的收件人投放日志

应用以下步骤:

  1. 打开通用查询编辑器并选择收件人表​ (nms:recipient)

  2. 在​ Data to extract ​窗口中,选择​ Primary keyFirst nameLast name ​和​ Email

  3. 在排序窗口中,按字母顺序对名称排序。

  4. 在​ Data filtering ​窗口中,选择​ Filtering conditions

  5. 在​ Target element ​窗口中,用于提取过去7天没有跟踪日志的用户档案的过滤条件包括两个步骤。 您需要选择的元素是多对多链接。

    • 首先,为前​ Value ​列选择​ Recipient delivery logs (broadlog) ​收藏集元素(橙色节点)。

      选择​ do not exist as ​运算符。 无需在此行中选择第二个值。

    • 第二过滤条件的内容取决于第一过滤条件。 此处,Event date ​字段直接在​ Recipient delivery logs ​表中提供,因为存在指向此表的链接。

      选择包含​ greater than or equal to ​运算符的​ Event date。 选择​ DaysAgo (7) ​值。 为此,请单击​ Value ​字段中的​ Edit expression。 在​ Formula type ​窗口中,选择​ Process on dates ​和​ Current date minus n days,并提供“7”作为值。

      筛选器条件已配置。

  6. 在​ Data formatting ​窗口中,将姓氏切换为大写。 单击​ Transformation ​列中的​ Last name ​行,然后在下拉菜单中选择​ Switch to upper case

  7. 使用​ Add a calculated field ​函数在数据预览窗口中插入列。

    在本例中,添加一个计算字段,将收件人的名字和姓氏添加到单列中。 单击​ Add a calculated field ​函数。 在​ Export calculated field definition ​窗口中,输入标签和内部名称,然后选择​ JavaScript Expression ​类型。 然后输入以下表达式:

    code language-none
    var rep = source._firstName+" - "+source._lastName
    return rep
    

    单击 OK。已配置​ Data formatting ​窗口。

    有关添加计算字段的更多信息,请参阅此章节。

  8. 结果显示在​ Data preview ​窗口中。 过去7天内未联系的收件人按字母顺序显示。 名称以大写显示,并且已创建具有名字和姓氏的列。

recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1