1

このクエリで正しい結果が得られないようです。

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 として反映させたいと考えています。

貴重なお時間をいただきありがとうございます。

4

1 に答える 1