Выполнение этого оператора SQL (с предыдущей помощью сообщества) и получение желаемых результатов:
with combinedDeliveryData AS (
SELECT
Impression_ID,
Event_Time,
DBM_Advertiser_ID,
Campaign_ID,
Ad_ID,
Rendering_ID,
Event_Type,
Advertiser_ID,
FROM
CampaignManager.p_impression
UNION ALL
SELECT
Impression_ID,
Event_Time,
DBM_Advertiser_ID,
Campaign_ID,
Ad_ID,
Rendering_ID,
Event_Type,
Advertiser_ID,
FROM
CampaignManager.p_click
),
advertiserData AS(
SELECT *
FROM CampaignManager.match_table_advertisers AS adv
),
deduplicatedAdvertiser AS (
SELECT Advertiser_ID, Advertiser,ARRAY_AGG(a LIMIT 1)[OFFSET(0)]
FROM advertiserData a
GROUP BY 1,2),
campaignData AS(
SELECT *
FROM CampaignManager.match_table_campaigns AS cpg
),
deduplicatedCampaigns AS (
SELECT Campaign_ID, Campaign,ARRAY_AGG(b LIMIT 1)[OFFSET(0)]
FROM campaignData b
GROUP BY 1,2)
SELECT FORMAT_DATETIME("%F",DATETIME(TIMESTAMP_MILLIS( CAST(SUBSTR(CAST( clicks.Event_Time AS String),0,LENGTH(CAST( clicks.Event_Time AS String)) - 3) AS INT64 )),"America/Toronto")) AS exposureDate,adv.Advertiser,cpg.Campaign,clicks.Campaign_ID,COUNT(case Event_Type when 'VIEW' then 1 else null end) AS Impressions,COUNT(case Event_Type when 'CLICK' then 1 else null end) AS Clicks
FROM
combinedDeliveryData AS clicks
LEFt JOIN deduplicatedAdvertiser as adv ON adv.Advertiser_ID = clicks.Advertiser_ID
LEFt JOIN deduplicatedCampaigns as cpg ON cpg.Campaign_ID = clicks.Campaign_ID
WHERE clicks.Campaign_ID = "123456789"
GROUP BY 1,2,3,4
Текущий ВЫХОД с правильными результатами
Дата: 2020- 04-06
Рекламодатель: РЕКЛАМОДАТОР
Кампания: CAMPAIGN
Идентификатор кампании: 123456789
Показы: 88417
Клики: 736
У меня возникла проблема чтобы присоединиться к финальному столу, а когда я это сделаю, количество показов и кликов стремительно возрастет, и, как и в моем предыдущем выпуске, вероятно, из-за того, что в новой таблице много Campaign_Ids.
Final Таблица Дата Advertiser_ID Campaign_ID Activity_ID
Эта последняя таблица содержит число конверсий, каждая строка представляет собой конверсию, связанную с Activity_ID.
Для каждой даты мне нужно чтобы добавить Activity_ID и Count к моему предыдущему выводу:
Требуемый вывод
Текущий выход с правильными результатами
Дата: 2020-04 -06
Рекламодатель: ADVERTIS ER A
Кампания: CAMPAIGN
Идентификатор кампании: 123456789
Показы: 88417
Клики: 736
Activity_ID: 99999
Счетчики (Количество Activity_ID): 56
Каждая Дата и Campaign_ID также могут иметь несколько идентификаторов активности с разным количеством.
Я пытался использовать ARRAY_AGG (LIMIT 1) [OFFSET (0)] с таблицей активности, но это не совсем работа.
Любая помощь будет очень важна, спасибо.