Sql 如何计算营销云在一段时间内的唯一打开次数?
我目前正在使用Salesforce数据视图检索用户在过去60天内打开电子邮件的次数。现在,我从每次用户打开时获取数据,但我想确定唯一的打开。我目前的代码是: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())
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,但不是用这种方式。