in super-mode-calculator/src/lib/build-query.ts [33:108]
acquisitions AS (
SELECT
CASE product
WHEN 'SUPPORTER_PLUS' THEN
CASE currency
WHEN 'GBP' THEN
CASE payment_frequency
WHEN 'MONTHLY' THEN 12
WHEN 'ANNUALLY' THEN 120
END
WHEN 'USD' THEN
CASE payment_frequency
WHEN 'MONTHLY' THEN 15
WHEN 'ANNUALLY' THEN 150
END
WHEN 'AUD' THEN
CASE payment_frequency
WHEN 'MONTHLY' THEN 20
WHEN 'ANNUAL' THEN 200
END
WHEN 'EUR' THEN
CASE payment_frequency
WHEN 'MONTHLY' THEN 12
WHEN 'ANNUALLY' THEN 120
END
WHEN 'NZD' THEN
CASE payment_frequency
WHEN 'MONTHLY' THEN 20
WHEN 'ANNUALLY' THEN 200
END
WHEN 'CAD' THEN
CASE payment_frequency
WHEN 'MONTHLY' THEN 15
WHEN 'ANNUALLY' THEN 150
END
END
WHEN 'CONTRIBUTION' THEN amount
WHEN 'RECURRING_CONTRIBUTION' THEN amount
END AS amount,
CASE
WHEN country_Code = 'GB' THEN 'GB'
WHEN country_Code= 'US' THEN 'US'
WHEN country_Code = 'AU' THEN 'AU'
WHEN country_Code = 'NZ' THEN 'NZ'
WHEN country_Code = 'CA' THEN 'CA'
WHEN country_Code IN (
'AD', 'AL', 'AT', 'BA', 'BE', 'BG', 'BL',
'CH', 'CY', 'CZ', 'DE', 'DK', 'EE', 'ES',
'FI', 'FO', 'FR', 'GF', 'GL', 'GP', 'GR',
'HR', 'HU', 'IE', 'IT', 'LI', 'LT', 'LU',
'LV', 'MC', 'ME', 'MF', 'IS', 'MQ', 'MT',
'NL', 'NO', 'PF', 'PL', 'PM', 'PT', 'RE',
'RO', 'RS', 'SE', 'SI', 'SJ', 'SK', 'SM',
'TF', 'TR', 'WF', 'YT', 'VA', 'AX'
) THEN 'EU'
ELSE
'ROW'
END AS region,
product, currency, country_code, referrer_url, payment_frequency,
FROM datatech-platform-prod.datalake.fact_acquisition_event AS acq
WHERE event_timestamp >= timestamp '${dateHourString}' AND event_timestamp < timestamp '${endDateHourString}'),
acquisitions_with_av_gbp AS (
SELECT acq.*,
CASE payment_frequency
WHEN 'ONE_OFF' THEN amount * exch.to_gbp_rate
WHEN 'MONTHLY' THEN (amount * exch.to_gbp_rate)*12
WHEN 'ANNUALLY' THEN amount * exch.to_gbp_rate
END AS av_gbp, exch.from_currency
FROM acquisitions AS acq JOIN exchange_rates AS exch ON acq.currency = exch.from_currency),
acquisitions_agg AS (
SELECT region, referrer_url, SUM(av_gbp) sum_av_gbp, COUNT(*) acquisitions
FROM acquisitions_with_av_gbp
GROUP BY 1, 2
),
views_with_regions AS (
SELECT *, ${regionSql('country_key')}