Sql 如何计算营销云在一段时间内的唯一打开次数?

Sql 如何计算营销云在一段时间内的唯一打开次数?,sql,dataview,soql,salesforce-marketing-cloud,Sql,Dataview,Soql,Salesforce Marketing Cloud,我目前正在使用Salesforce数据视图检索用户在过去60天内打开电子邮件的次数。现在,我从每次用户打开时获取数据,但我想确定唯一的打开。我目前的代码是: SELECT COUNT(SubscriberKey) as Count_Opens, SubscriberKey as email FROM ENT._Open o WHERE JobID IN (SELECT JobID FROM _Sent s WHERE EventDate > dateadd(d,-60,getdate())

我目前正在使用Salesforce数据视图检索用户在过去60天内打开电子邮件的次数。现在,我从每次用户打开时获取数据,但我想确定唯一的打开。我目前的代码是:

SELECT COUNT(SubscriberKey) as Count_Opens, SubscriberKey as email
FROM ENT._Open o
WHERE JobID IN (SELECT JobID FROM _Sent s WHERE EventDate > dateadd(d,-60,getdate()))
GROUP BY SubscriberKey
例如,我的结果显示我的电子邮件地址与我的电子邮件地址关联。但我只想展示我独特的开放,这是在过去60天33

我不确定在哪里可以进行更改以仅检索唯一事件。我可以将与JobID和SubscriberKey关联的打开事件限制为不超过一个吗?如果可以,有什么建议吗


PS:对不起,我的英语不好。

我想你是在找isUnique标志。这在本书中有描述

选择 o、 以电子邮件形式订阅Berkey ,当COUNT_打开时计数* 从(开)到(开) o.JobID在哪里 选择不同的 s、 若比德 来自 其中s.EventDate>convertdate,getDate-60 和o.isunique=1 o.Berkey分组
此外,打开的范围是业务单位,因此ent。前缀不应适用于您的情况。

您只需使用isunique即可

您可以使用下面的代码

SELECT 
o.SubscriberKey as SubscriberKey
, COUNT(*) as Count_Opens
FROM _Open o
WHERE o.JobID IN (
    SELECT distinct
    s.JobID 
    FROM _Sent s 
    WHERE s.EventDate > convert(date, getDate()-60)
)
and o.isunique = 1
GROUP BY o.SubscriberKey

请提供样本数据和期望的结果。添加了我得到的结果和我需要的结果。非常感谢。您将在上看到更多关于SFMC的问题,特别是和标签。谢谢!它正在检索正确的计数。我试过用IsUnique,但不是用这种方式。