このクエリで正しい結果が得られないようです。
select
datepart(day, i.timestamp) as [day],
i.campaignID, i.creativeID
, count(distinct i.sessionID) as [Impressions]
, count(case when e.eventID in (1,2,3) then 1 else 0 end) as Clicks
from impressions i
left join Events e
on i.sessionID = e.sessionID
group by
datepart(day, i.timestamp)
, i.campaignID, i.creative
order by [day]
then 句で 1 を e.eventid に置き換えてみました。結果のクリック数が多すぎます。多くのタイプのイベントが同じセッション (ロールオーバー、ロールアウトなど) で発生する可能性があるため、イベントにはセッション ID ごとに複数のレコードがあります。カウントしようとしているイベントのイベント ID は 1、2、または 3 で、これらは 3 になります。クリックできる可能性のあるリンク。私が探しているのは、インプレッションと関連するクリックの数を取得してクリック率を計算することです。また、クリックがない場合は、結果から欠落するのではなく、0 として反映させたいと考えています。
貴重なお時間をいただきありがとうございます。