@@ -31,117 +31,90 @@ export const buildQueryForSuperMode = (
31
31
WITH
32
32
acquisitions_with_regions AS (SELECT *,${ regionSql ( 'country_Code' ) }
33
33
FROM datatech-platform-${ stage . toLowerCase ( ) } .datalake.fact_acquisition_event
34
- WHERE
35
- DATE (event_timestamp) >= '${ dateString } '
36
- AND
37
- event_timestamp >= TIMESTAMP '${ dateHourString } ' AND event_timestamp < TIMESTAMP '${ endDateHourString } '),
34
+ WHERE DATE (event_timestamp) >= '${ dateString } ' AND
35
+ event_timestamp >= TIMESTAMP '${ dateHourString } ' AND event_timestamp < TIMESTAMP '${ endDateHourString } '),
38
36
exchange_rates AS (
39
37
SELECT target, date, (1/rate) AS reverse_rate
40
38
FROM datatech-platform-${ stage . toLowerCase ( ) } .datalake.fixer_exchange_rates
41
39
WHERE date = '${ format ( dateForCurrencyConversionTable , 'yyyy-MM-dd' ) } '),
42
40
gbp_rate AS (
43
- SELECT
44
- rate, date
41
+ SELECT rate, date
45
42
FROM datatech-platform-${ stage . toLowerCase ( ) } .datalake.fixer_exchange_rates
46
- WHERE target = 'GBP'
47
- AND date = '${ format ( dateForCurrencyConversionTable , 'yyyy-MM-dd' ) } '),
43
+ WHERE target = 'GBP' AND date = '${ format (
44
+ dateForCurrencyConversionTable ,
45
+ 'yyyy-MM-dd' ,
46
+ ) } '),
48
47
acquisitions AS (
49
48
SELECT
50
49
CASE product
51
- WHEN 'SUPPORTER_PLUS' THEN
52
- CASE currency
53
- WHEN 'GBP' THEN
54
- CASE payment_frequency
55
- WHEN 'MONTHLY' THEN 12
56
- WHEN 'ANNUAL' THEN 120
57
- END
58
- WHEN 'USD' THEN
59
- CASE payment_frequency
60
- WHEN 'MONTHLY' THEN 15
61
- WHEN 'ANNUAL' THEN 150
62
- END
63
- WHEN 'AUD' THEN
64
- CASE payment_frequency
65
- WHEN 'MONTHLY' THEN 20
66
- WHEN 'ANNUAL' THEN 200
67
- END
68
- WHEN 'EUR' THEN
69
- CASE payment_frequency
70
- WHEN 'MONTHLY' THEN 12
71
- WHEN 'ANNUAL' THEN 120
72
- END
73
- WHEN 'NZD' THEN
74
- CASE payment_frequency
75
- WHEN 'MONTHLY' THEN 20
76
- WHEN 'ANNUAL' THEN 200
77
- END
78
- WHEN 'CAD' THEN
79
- CASE payment_frequency
80
- WHEN 'MONTHLY' THEN 15
81
- WHEN 'ANNUAL' THEN 150
82
- END
83
- END
84
- WHEN 'CONTRIBUTION' THEN amount
85
- WHEN 'RECURRING_CONTRIBUTION' THEN amount
86
- END
50
+ WHEN 'SUPPORTER_PLUS' THEN
51
+ CASE currency
52
+ WHEN 'GBP' THEN
53
+ CASE payment_frequency
54
+ WHEN 'MONTHLY' THEN 12
55
+ WHEN 'ANNUAL' THEN 120
56
+ END
57
+ WHEN 'USD' THEN
58
+ CASE payment_frequency
59
+ WHEN 'MONTHLY' THEN 15
60
+ WHEN 'ANNUAL' THEN 150
61
+ END
62
+ WHEN 'AUD' THEN
63
+ CASE payment_frequency
64
+ WHEN 'MONTHLY' THEN 20
65
+ WHEN 'ANNUAL' THEN 200
66
+ END
67
+ WHEN 'EUR' THEN
68
+ CASE payment_frequency
69
+ WHEN 'MONTHLY' THEN 12
70
+ WHEN 'ANNUAL' THEN 120
71
+ END
72
+ WHEN 'NZD' THEN
73
+ CASE payment_frequency
74
+ WHEN 'MONTHLY' THEN 20
75
+ WHEN 'ANNUAL' THEN 200
76
+ END
77
+ WHEN 'CAD' THEN
78
+ CASE payment_frequency
79
+ WHEN 'MONTHLY' THEN 15
80
+ WHEN 'ANNUAL' THEN 150
81
+ END
82
+ END
83
+ WHEN 'CONTRIBUTION' THEN amount
84
+ WHEN 'RECURRING_CONTRIBUTION' THEN amount
85
+ END
87
86
AS amount, product, currency, country_code, referrer_url, payment_frequency,
88
- FROM datatech-platform-${ stage . toLowerCase ( ) } .datalake.fact_acquisition_event AS acq
89
- WHERE event_timestamp >= TIMESTAMP '${ dateHourString } ' AND event_timestamp < TIMESTAMP '${ endDateHourString } '),
87
+ FROM datatech-platform-${ stage . toLowerCase ( ) } .datalake.fact_acquisition_event AS acq
88
+ WHERE event_timestamp >= TIMESTAMP '${ dateHourString } ' AND event_timestamp < TIMESTAMP '${ endDateHourString } '),
90
89
acquisitions_with_av AS (
91
- SELECT
92
- acq.*, date, CASE payment_frequency
90
+ SELECT acq.*, date, CASE payment_frequency
93
91
WHEN 'ONE_OFF' THEN amount * exch.reverse_rate
94
92
WHEN 'MONTHLY' THEN (amount * exch.reverse_rate)*12
95
93
WHEN 'ANNUAL' THEN amount * exch.reverse_rate
96
94
END
97
- AS av_eur, exch.reverse_rate
98
- FROM acquisitions AS acq
99
- JOIN exchange_rates AS exch
100
- ON acq.currency = exch.target
101
- ),
95
+ AS av_eur, exch.reverse_rate FROM acquisitions AS acq JOIN exchange_rates AS exch ON acq.currency = exch.target),
102
96
acquisitions_with_av_gbp AS (
103
- SELECT
104
- acq_av.*, CASE acq_av.currency
105
- WHEN 'GBP' THEN av_eur
106
- ELSE av_eur * (gbp_rate.rate)
97
+ SELECT acq_av.*, CASE acq_av.currency
98
+ WHEN 'GBP' THEN av_eur ELSE av_eur * (gbp_rate.rate)
107
99
END
108
- AS av_gbp
109
- FROM acquisitions_with_av AS acq_av
110
- JOIN gbp_rate
111
- ON acq_av.date = gbp_rate.date
112
- ),
100
+ AS av_gbp FROM acquisitions_with_av AS acq_av JOIN gbp_rate ON acq_av.date = gbp_rate.date),
113
101
acquisitions_agg AS (
114
- SELECT
115
- country_code, referrer_url, SUM (av_gbp) sum_av_gbp, COUNT (*) acquisitions
102
+ SELECT country_code, referrer_url, SUM (av_gbp) sum_av_gbp, COUNT (*) acquisitions
116
103
FROM acquisitions_with_av_gbp
117
- GROUP BY 1, 2
118
- ),
104
+ GROUP BY 1, 2),
119
105
av AS (
120
- SELECT
121
- acq_agg.referrer_url AS url, acq_region.region AS region, SUM ( acq_agg.sum_av_gbp) AS total_av,
122
- FROM
123
- acquisitions_with_regions as acq_region
124
- JOIN acquisitions_agg AS acq_agg
125
- ON acq_region.region =acq_agg.country_code
106
+ SELECT acq_agg.referrer_url AS url, acq_region.region AS region, SUM ( acq_agg.sum_av_gbp) AS total_av,
107
+ FROM acquisitions_with_regions as acq_region JOIN acquisitions_agg AS acq_agg ON acq_region.region =acq_agg.country_code
126
108
GROUP BY 1, 2),
127
109
views_with_regions AS (
128
110
SELECT *, ${ regionSql ( 'country_key' ) }
129
- FROM
130
- datatech-platform-${ stage . toLowerCase ( ) } .online_traffic.fact_page_view_anonymised
131
- CROSS JOIN UNNEST(component_event_array) as ce
132
- WHERE received_date >= DATE_SUB('${ dateString } '
133
- , INTERVAL 1 DAY)
134
- AND received_date <= '${ dateString } '
135
- AND
136
- ce.event_timestamp >= TIMESTAMP '${ dateHourString } ' AND ce.event_timestamp < TIMESTAMP '${ endDateHourString } ')
137
- ,
111
+ FROM datatech-platform-${ stage . toLowerCase ( ) } .online_traffic.fact_page_view_anonymised CROSS JOIN UNNEST(component_event_array) as ce
112
+ WHERE received_date >= DATE_SUB('${ dateString } ', INTERVAL 1 DAY) AND received_date <= '${ dateString } ' AND ce.component_type = 'ACQUISITIONS_EPIC' AND ce.event_action = 'VIEW' AND
113
+ ce.event_timestamp >= TIMESTAMP '${ dateHourString } ' AND ce.event_timestamp < TIMESTAMP '${ endDateHourString } ') ,
138
114
views AS (
139
- SELECT
140
- referrer_url_raw AS url, region, COUNT (*) AS total_views
141
- FROM
142
- views_with_regions
143
- GROUP BY 1, 2
144
- )
115
+ SELECT referrer_url_raw AS url, region, COUNT (*) AS total_views
116
+ FROM views_with_regions
117
+ GROUP BY 1, 2)
145
118
SELECT av.url,
146
119
av.region,
147
120
av.total_av AS totalAv,
0 commit comments