Skip to content

Commit 65fe0f1

Browse files
Merge pull request #55 from dbt-labs/fixing_empty_list_bug
Hotfixing Prerelease Bugs
2 parents d9cdc1d + 5b49cc3 commit 65fe0f1

9 files changed

Lines changed: 380 additions & 162 deletions
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
select *
2+
from
3+
{{ metrics.calculate(
4+
metric('expression_metric'),
5+
grain='day',
6+
start_date = '2022-01-01',
7+
end_date = '2022-01-10')
8+
}}

integration_tests/models/metric_testing_models/multiple_metrics__period_over_period.sql

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ select
1717
date_day
1818
,had_discount
1919
,base_sum_metric
20-
,base_average_metric::float as base_average_metric
20+
,cast(base_average_metric as float) as base_average_metric
2121
,base_sum_metric_pop_1mth
22-
,base_sum_metric_ratio_to_1_day_ago::float as base_sum_metric_ratio_to_1_day_ago
23-
,base_average_metric_pop_1mth::float as base_average_metric_pop_1mth
24-
,base_average_metric_ratio_to_1_day_ago::float as base_average_metric_ratio_to_1_day_ago
22+
,cast(base_sum_metric_ratio_to_1_day_ago as float) as base_sum_metric_ratio_to_1_day_ago
23+
,cast(base_average_metric_pop_1mth as float) as base_average_metric_pop_1mth
24+
,cast(base_average_metric_ratio_to_1_day_ago as float) as base_average_metric_ratio_to_1_day_ago
2525
from metric
Lines changed: 130 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -1,131 +1,131 @@
11
date_day,is_weekend,had_discount,order_country,base_sum_metric,base_average_metric,metric_on_expression_metric,expression_metric,expression_metric__alternative
2-
2022-01-01,TRUE,FALSE,Indonesia,0,0.000000,-5.000000,0.000000,5.000000
3-
2022-01-02,TRUE,FALSE,Indonesia,0,0.000000,-5.000000,0.000000,5.000000
4-
2022-01-03,TRUE,FALSE,Indonesia,15,8.000000,-5.000000,7.000000,12.000000
5-
2022-01-04,TRUE,FALSE,Indonesia,69,35.000000,-5.000000,34.000000,39.000000
6-
2022-01-05,TRUE,FALSE,Indonesia,170,28.666667,-5.000000,141.333333,146.333333
7-
2022-01-01,TRUE,FALSE,France,0,0.000000,-5.000000,0.000000,5.000000
8-
2022-01-02,TRUE,FALSE,France,65,33.000000,-5.000000,32.000000,37.000000
9-
2022-01-03,TRUE,FALSE,France,0,0.000000,-5.000000,0.000000,5.000000
10-
2022-01-01,TRUE,FALSE,Macedonia,0,0.000000,-5.000000,0.000000,5.000000
11-
2022-01-02,TRUE,FALSE,Macedonia,0,0.000000,-5.000000,0.000000,5.000000
12-
2022-01-03,TRUE,FALSE,Macedonia,60,30.000000,-5.000000,30.000000,35.000000
13-
2022-01-05,TRUE,FALSE,Macedonia,0,0.000000,-5.000000,0.000000,5.000000
14-
2022-01-01,TRUE,FALSE,China,44,22.000000,-5.000000,22.000000,27.000000
15-
2022-01-02,TRUE,FALSE,China,63,16.000000,-5.000000,47.000000,52.000000
16-
2022-01-04,TRUE,FALSE,China,14,7.000000,-5.000000,7.000000,12.000000
17-
2022-01-05,TRUE,FALSE,China,0,0.000000,-5.000000,0.000000,5.000000
18-
2022-01-04,TRUE,FALSE,Philippines,0,0.000000,-5.000000,0.000000,5.000000
19-
2022-01-02,TRUE,TRUE,China,0,0.000000,-5.000000,0.000000,5.000000
20-
2022-01-01,TRUE,FALSE,Portugal,28,14.000000,-5.000000,14.000000,19.000000
21-
2022-01-02,TRUE,FALSE,Portugal,0,0.000000,-5.000000,0.000000,5.000000
22-
2022-01-03,TRUE,FALSE,Portugal,0,0.000000,-5.000000,0.000000,5.000000
23-
2022-01-02,TRUE,TRUE,Sweden,0,0.000000,-5.000000,0.000000,5.000000
24-
2022-01-03,TRUE,TRUE,Sweden,0,0.000000,-5.000000,0.000000,5.000000
25-
2022-01-05,TRUE,TRUE,Sweden,0,0.000000,-5.000000,0.000000,5.000000
26-
2022-01-03,TRUE,TRUE,Syria,0,0.000000,-5.000000,0.000000,5.000000
27-
2022-01-05,TRUE,TRUE,Syria,0,0.000000,-5.000000,0.000000,5.000000
28-
2022-01-01,TRUE,TRUE,Canada,0,0.000000,-5.000000,0.000000,5.000000
29-
2022-01-04,TRUE,TRUE,Canada,0,0.000000,-5.000000,0.000000,5.000000
30-
2022-01-03,TRUE,FALSE,Japan,0,0.000000,-5.000000,0.000000,5.000000
31-
2022-01-03,TRUE,FALSE,United States,0,0.000000,-5.000000,0.000000,5.000000
32-
2022-01-04,TRUE,TRUE,United States,27,14.000000,-5.000000,13.000000,18.000000
33-
2022-01-05,TRUE,FALSE,Nigeria,0,0.000000,-5.000000,0.000000,5.000000
34-
2022-01-03,TRUE,FALSE,Colombia,0,0.000000,-5.000000,0.000000,5.000000
35-
2022-01-01,TRUE,FALSE,Sweden,0,0.000000,-5.000000,0.000000,5.000000
36-
2022-01-02,TRUE,TRUE,South Korea,98,49.000000,-5.000000,49.000000,54.000000
37-
2022-01-01,TRUE,FALSE,South Korea,0,0.000000,-5.000000,0.000000,5.000000
38-
2022-01-04,TRUE,FALSE,Slovenia,0,0.000000,-5.000000,0.000000,5.000000
39-
2022-01-04,TRUE,FALSE,France,0,0.000000,-5.000000,0.000000,5.000000
40-
2022-01-01,TRUE,FALSE,Philippines,76,38.000000,-5.000000,38.000000,43.000000
41-
2022-01-02,TRUE,FALSE,Philippines,85,43.000000,-5.000000,42.000000,47.000000
42-
2022-01-03,TRUE,FALSE,Philippines,0,0.000000,-5.000000,0.000000,5.000000
43-
2022-01-01,TRUE,TRUE,Sweden,2,1.000000,-5.000000,1.000000,6.000000
44-
2022-01-01,TRUE,TRUE,Syria,0,0.000000,-5.000000,0.000000,5.000000
45-
2022-01-05,TRUE,TRUE,Canada,0,0.000000,-5.000000,0.000000,5.000000
46-
2022-01-01,TRUE,FALSE,United States,0,0.000000,-5.000000,0.000000,5.000000
47-
2022-01-05,TRUE,FALSE,United States,8,4.000000,-5.000000,4.000000,9.000000
48-
2022-01-01,TRUE,TRUE,South Korea,0,0.000000,-5.000000,0.000000,5.000000
49-
2022-01-04,TRUE,TRUE,Guatemala,0,0.000000,-5.000000,0.000000,5.000000
50-
2022-01-03,TRUE,TRUE,Philippines,0,0.000000,-5.000000,0.000000,5.000000
51-
2022-01-01,TRUE,FALSE,Ukraine,0,0.000000,-5.000000,0.000000,5.000000
52-
2022-01-02,TRUE,TRUE,United States,0,0.000000,-5.000000,0.000000,5.000000
53-
2022-01-04,TRUE,FALSE,Sweden,0,0.000000,-5.000000,0.000000,5.000000
54-
2022-01-04,TRUE,FALSE,Uruguay,0,0.000000,-5.000000,0.000000,5.000000
55-
2022-01-03,TRUE,FALSE,Slovenia,0,0.000000,-5.000000,0.000000,5.000000
56-
2022-01-05,TRUE,FALSE,Ukraine,76,38.000000,-5.000000,38.000000,43.000000
57-
2022-01-04,TRUE,FALSE,Ukraine,60,30.000000,-5.000000,30.000000,35.000000
58-
2022-01-05,TRUE,FALSE,France,0,0.000000,-5.000000,0.000000,5.000000
59-
2022-01-04,TRUE,FALSE,Macedonia,0,0.000000,-5.000000,0.000000,5.000000
60-
2022-01-03,TRUE,FALSE,China,0,0.000000,-5.000000,0.000000,5.000000
61-
2022-01-01,TRUE,TRUE,China,0,0.000000,-5.000000,0.000000,5.000000
62-
2022-01-02,TRUE,FALSE,Spain,0,0.000000,-5.000000,0.000000,5.000000
63-
2022-01-04,TRUE,FALSE,Spain,91,46.000000,-5.000000,45.000000,50.000000
64-
2022-01-05,TRUE,FALSE,Spain,0,0.000000,-5.000000,0.000000,5.000000
65-
2022-01-01,TRUE,TRUE,United States,0,0.000000,-5.000000,0.000000,5.000000
66-
2022-01-03,TRUE,TRUE,United States,0,0.000000,-5.000000,0.000000,5.000000
67-
2022-01-05,TRUE,TRUE,France,0,0.000000,-5.000000,0.000000,5.000000
68-
2022-01-05,TRUE,FALSE,Colombia,89,45.000000,-5.000000,44.000000,49.000000
69-
2022-01-03,TRUE,TRUE,Guatemala,0,0.000000,-5.000000,0.000000,5.000000
70-
2022-01-04,TRUE,FALSE,South Korea,0,0.000000,-5.000000,0.000000,5.000000
71-
2022-01-03,TRUE,FALSE,Ukraine,0,0.000000,-5.000000,0.000000,5.000000
72-
2022-01-03,TRUE,TRUE,China,0,0.000000,-5.000000,0.000000,5.000000
73-
2022-01-05,TRUE,FALSE,Portugal,0,0.000000,-5.000000,0.000000,5.000000
74-
2022-01-02,TRUE,TRUE,Syria,28,14.000000,-5.000000,14.000000,19.000000
75-
2022-01-04,TRUE,TRUE,Syria,0,0.000000,-5.000000,0.000000,5.000000
76-
2022-01-01,TRUE,FALSE,Spain,0,0.000000,-5.000000,0.000000,5.000000
77-
2022-01-03,TRUE,FALSE,Spain,0,0.000000,-5.000000,0.000000,5.000000
78-
2022-01-02,TRUE,TRUE,Canada,43,22.000000,-5.000000,21.000000,26.000000
79-
2022-01-03,TRUE,TRUE,Canada,0,0.000000,-5.000000,0.000000,5.000000
80-
2022-01-01,TRUE,FALSE,Japan,8,4.000000,-5.000000,4.000000,9.000000
81-
2022-01-04,TRUE,FALSE,Japan,0,0.000000,-5.000000,0.000000,5.000000
82-
2022-01-02,TRUE,FALSE,United States,0,0.000000,-5.000000,0.000000,5.000000
83-
2022-01-04,TRUE,FALSE,United States,0,0.000000,-5.000000,0.000000,5.000000
84-
2022-01-05,TRUE,TRUE,United States,0,0.000000,-5.000000,0.000000,5.000000
85-
2022-01-01,TRUE,TRUE,France,0,0.000000,-5.000000,0.000000,5.000000
86-
2022-01-02,TRUE,TRUE,France,72,36.000000,-5.000000,36.000000,41.000000
87-
2022-01-03,TRUE,TRUE,France,0,0.000000,-5.000000,0.000000,5.000000
88-
2022-01-04,TRUE,TRUE,France,0,0.000000,-5.000000,0.000000,5.000000
89-
2022-01-01,TRUE,FALSE,Nigeria,0,0.000000,-5.000000,0.000000,5.000000
90-
2022-01-03,TRUE,FALSE,Nigeria,0,0.000000,-5.000000,0.000000,5.000000
91-
2022-01-04,TRUE,FALSE,Nigeria,0,0.000000,-5.000000,0.000000,5.000000
92-
2022-01-03,TRUE,TRUE,South Korea,0,0.000000,-5.000000,0.000000,5.000000
93-
2022-01-04,TRUE,TRUE,South Korea,0,0.000000,-5.000000,0.000000,5.000000
94-
2022-01-01,TRUE,TRUE,Guatemala,0,0.000000,-5.000000,0.000000,5.000000
95-
2022-01-01,TRUE,TRUE,Indonesia,41,21.000000,-5.000000,20.000000,25.000000
96-
2022-01-03,TRUE,TRUE,Indonesia,0,0.000000,-5.000000,0.000000,5.000000
97-
2022-01-04,TRUE,TRUE,Indonesia,41,21.000000,-5.000000,20.000000,25.000000
98-
2022-01-05,TRUE,TRUE,Indonesia,0,0.000000,-5.000000,0.000000,5.000000
99-
2022-01-01,TRUE,FALSE,Uruguay,0,0.000000,-5.000000,0.000000,5.000000
100-
2022-01-02,TRUE,FALSE,Uruguay,62,31.000000,-5.000000,31.000000,36.000000
101-
2022-01-03,TRUE,FALSE,Uruguay,0,0.000000,-5.000000,0.000000,5.000000
102-
2022-01-05,TRUE,FALSE,Uruguay,0,0.000000,-5.000000,0.000000,5.000000
103-
2022-01-01,TRUE,TRUE,Philippines,4,2.000000,-5.000000,2.000000,7.000000
104-
2022-01-04,TRUE,TRUE,Philippines,0,0.000000,-5.000000,0.000000,5.000000
105-
2022-01-05,TRUE,TRUE,Philippines,0,0.000000,-5.000000,0.000000,5.000000
106-
2022-01-04,TRUE,TRUE,Sweden,0,0.000000,-5.000000,0.000000,5.000000
107-
2022-01-02,TRUE,FALSE,Japan,0,0.000000,-5.000000,0.000000,5.000000
108-
2022-01-01,TRUE,FALSE,Colombia,0,0.000000,-5.000000,0.000000,5.000000
109-
2022-01-03,TRUE,FALSE,Sweden,0,0.000000,-5.000000,0.000000,5.000000
110-
2022-01-02,TRUE,FALSE,South Korea,0,0.000000,-5.000000,0.000000,5.000000
111-
2022-01-01,TRUE,FALSE,Slovenia,0,0.000000,-5.000000,0.000000,5.000000
112-
2022-01-05,TRUE,FALSE,South Korea,81,41.000000,-5.000000,40.000000,45.000000
113-
2022-01-04,TRUE,TRUE,China,0,0.000000,-5.000000,0.000000,5.000000
114-
2022-01-05,TRUE,TRUE,China,77,39.000000,-5.000000,38.000000,43.000000
115-
2022-01-02,TRUE,FALSE,Colombia,0,0.000000,-5.000000,0.000000,5.000000
116-
2022-01-05,TRUE,FALSE,Philippines,0,0.000000,-5.000000,0.000000,5.000000
117-
2022-01-04,TRUE,FALSE,Portugal,0,0.000000,-5.000000,0.000000,5.000000
118-
2022-01-02,TRUE,FALSE,Nigeria,42,21.000000,-5.000000,21.000000,26.000000
119-
2022-01-04,TRUE,FALSE,Colombia,0,0.000000,-5.000000,0.000000,5.000000
120-
2022-01-05,TRUE,FALSE,Japan,0,0.000000,-5.000000,0.000000,5.000000
121-
2022-01-02,TRUE,FALSE,Sweden,83,42.000000,-5.000000,41.000000,46.000000
122-
2022-01-05,TRUE,FALSE,Sweden,0,0.000000,-5.000000,0.000000,5.000000
123-
2022-01-05,TRUE,TRUE,South Korea,0,0.000000,-5.000000,0.000000,5.000000
124-
2022-01-02,TRUE,TRUE,Guatemala,27,14.000000,-5.000000,13.000000,18.000000
125-
2022-01-02,TRUE,TRUE,Indonesia,0,0.000000,-5.000000,0.000000,5.000000
126-
2022-01-02,TRUE,FALSE,Slovenia,0,0.000000,-5.000000,0.000000,5.000000
127-
2022-01-02,TRUE,FALSE,Ukraine,0,0.000000,-5.000000,0.000000,5.000000
128-
2022-01-05,TRUE,TRUE,Guatemala,0,0.000000,-5.000000,0.000000,5.000000
129-
2022-01-02,TRUE,TRUE,Philippines,0,0.000000,-5.000000,0.000000,5.000000
130-
2022-01-03,TRUE,FALSE,South Korea,0,0.000000,-5.000000,0.000000,5.000000
131-
2022-01-05,TRUE,FALSE,Slovenia,30,15.000000,-5.000000,15.000000,20.000000
2+
2022-01-01,TRUE,FALSE,Indonesia,0,0,-5,0,5
3+
2022-01-02,TRUE,FALSE,Indonesia,0,0,-5,0,5
4+
2022-01-03,TRUE,FALSE,Indonesia,15,8,-5,7,12
5+
2022-01-04,TRUE,FALSE,Indonesia,69,35,-5,34,39
6+
2022-01-05,TRUE,FALSE,Indonesia,170,28.666667,-5,141.333333,146.333333
7+
2022-01-01,TRUE,FALSE,France,0,0,-5,0,5
8+
2022-01-02,TRUE,FALSE,France,65,33,-5,32,37
9+
2022-01-03,TRUE,FALSE,France,0,0,-5,0,5
10+
2022-01-01,TRUE,FALSE,Macedonia,0,0,-5,0,5
11+
2022-01-02,TRUE,FALSE,Macedonia,0,0,-5,0,5
12+
2022-01-03,TRUE,FALSE,Macedonia,60,30,-5,30,35
13+
2022-01-05,TRUE,FALSE,Macedonia,0,0,-5,0,5
14+
2022-01-01,TRUE,FALSE,China,44,22,-5,22,27
15+
2022-01-02,TRUE,FALSE,China,63,16,-5,47,52
16+
2022-01-04,TRUE,FALSE,China,14,7,-5,7,12
17+
2022-01-05,TRUE,FALSE,China,0,0,-5,0,5
18+
2022-01-04,TRUE,FALSE,Philippines,0,0,-5,0,5
19+
2022-01-02,TRUE,TRUE,China,0,0,-5,0,5
20+
2022-01-01,TRUE,FALSE,Portugal,28,14,-5,14,19
21+
2022-01-02,TRUE,FALSE,Portugal,0,0,-5,0,5
22+
2022-01-03,TRUE,FALSE,Portugal,0,0,-5,0,5
23+
2022-01-02,TRUE,TRUE,Sweden,0,0,-5,0,5
24+
2022-01-03,TRUE,TRUE,Sweden,0,0,-5,0,5
25+
2022-01-05,TRUE,TRUE,Sweden,0,0,-5,0,5
26+
2022-01-03,TRUE,TRUE,Syria,0,0,-5,0,5
27+
2022-01-05,TRUE,TRUE,Syria,0,0,-5,0,5
28+
2022-01-01,TRUE,TRUE,Canada,0,0,-5,0,5
29+
2022-01-04,TRUE,TRUE,Canada,0,0,-5,0,5
30+
2022-01-03,TRUE,FALSE,Japan,0,0,-5,0,5
31+
2022-01-03,TRUE,FALSE,United States,0,0,-5,0,5
32+
2022-01-04,TRUE,TRUE,United States,27,14,-5,13,18
33+
2022-01-05,TRUE,FALSE,Nigeria,0,0,-5,0,5
34+
2022-01-03,TRUE,FALSE,Colombia,0,0,-5,0,5
35+
2022-01-01,TRUE,FALSE,Sweden,0,0,-5,0,5
36+
2022-01-02,TRUE,TRUE,South Korea,98,49,-5,49,54
37+
2022-01-01,TRUE,FALSE,South Korea,0,0,-5,0,5
38+
2022-01-04,TRUE,FALSE,Slovenia,0,0,-5,0,5
39+
2022-01-04,TRUE,FALSE,France,0,0,-5,0,5
40+
2022-01-01,TRUE,FALSE,Philippines,76,38,-5,38,43
41+
2022-01-02,TRUE,FALSE,Philippines,85,43,-5,42,47
42+
2022-01-03,TRUE,FALSE,Philippines,0,0,-5,0,5
43+
2022-01-01,TRUE,TRUE,Sweden,2,1,-5,1,6
44+
2022-01-01,TRUE,TRUE,Syria,0,0,-5,0,5
45+
2022-01-05,TRUE,TRUE,Canada,0,0,-5,0,5
46+
2022-01-01,TRUE,FALSE,United States,0,0,-5,0,5
47+
2022-01-05,TRUE,FALSE,United States,8,4,-5,4,9
48+
2022-01-01,TRUE,TRUE,South Korea,0,0,-5,0,5
49+
2022-01-04,TRUE,TRUE,Guatemala,0,0,-5,0,5
50+
2022-01-03,TRUE,TRUE,Philippines,0,0,-5,0,5
51+
2022-01-01,TRUE,FALSE,Ukraine,0,0,-5,0,5
52+
2022-01-02,TRUE,TRUE,United States,0,0,-5,0,5
53+
2022-01-04,TRUE,FALSE,Sweden,0,0,-5,0,5
54+
2022-01-04,TRUE,FALSE,Uruguay,0,0,-5,0,5
55+
2022-01-03,TRUE,FALSE,Slovenia,0,0,-5,0,5
56+
2022-01-05,TRUE,FALSE,Ukraine,76,38,-5,38,43
57+
2022-01-04,TRUE,FALSE,Ukraine,60,30,-5,30,35
58+
2022-01-05,TRUE,FALSE,France,0,0,-5,0,5
59+
2022-01-04,TRUE,FALSE,Macedonia,0,0,-5,0,5
60+
2022-01-03,TRUE,FALSE,China,0,0,-5,0,5
61+
2022-01-01,TRUE,TRUE,China,0,0,-5,0,5
62+
2022-01-02,TRUE,FALSE,Spain,0,0,-5,0,5
63+
2022-01-04,TRUE,FALSE,Spain,91,46,-5,45,50
64+
2022-01-05,TRUE,FALSE,Spain,0,0,-5,0,5
65+
2022-01-01,TRUE,TRUE,United States,0,0,-5,0,5
66+
2022-01-03,TRUE,TRUE,United States,0,0,-5,0,5
67+
2022-01-05,TRUE,TRUE,France,0,0,-5,0,5
68+
2022-01-05,TRUE,FALSE,Colombia,89,45,-5,44,49
69+
2022-01-03,TRUE,TRUE,Guatemala,0,0,-5,0,5
70+
2022-01-04,TRUE,FALSE,South Korea,0,0,-5,0,5
71+
2022-01-03,TRUE,FALSE,Ukraine,0,0,-5,0,5
72+
2022-01-03,TRUE,TRUE,China,0,0,-5,0,5
73+
2022-01-05,TRUE,FALSE,Portugal,0,0,-5,0,5
74+
2022-01-02,TRUE,TRUE,Syria,28,14,-5,14,19
75+
2022-01-04,TRUE,TRUE,Syria,0,0,-5,0,5
76+
2022-01-01,TRUE,FALSE,Spain,0,0,-5,0,5
77+
2022-01-03,TRUE,FALSE,Spain,0,0,-5,0,5
78+
2022-01-02,TRUE,TRUE,Canada,43,22,-5,21,26
79+
2022-01-03,TRUE,TRUE,Canada,0,0,-5,0,5
80+
2022-01-01,TRUE,FALSE,Japan,8,4,-5,4,9
81+
2022-01-04,TRUE,FALSE,Japan,0,0,-5,0,5
82+
2022-01-02,TRUE,FALSE,United States,0,0,-5,0,5
83+
2022-01-04,TRUE,FALSE,United States,0,0,-5,0,5
84+
2022-01-05,TRUE,TRUE,United States,0,0,-5,0,5
85+
2022-01-01,TRUE,TRUE,France,0,0,-5,0,5
86+
2022-01-02,TRUE,TRUE,France,72,36,-5,36,41
87+
2022-01-03,TRUE,TRUE,France,0,0,-5,0,5
88+
2022-01-04,TRUE,TRUE,France,0,0,-5,0,5
89+
2022-01-01,TRUE,FALSE,Nigeria,0,0,-5,0,5
90+
2022-01-03,TRUE,FALSE,Nigeria,0,0,-5,0,5
91+
2022-01-04,TRUE,FALSE,Nigeria,0,0,-5,0,5
92+
2022-01-03,TRUE,TRUE,South Korea,0,0,-5,0,5
93+
2022-01-04,TRUE,TRUE,South Korea,0,0,-5,0,5
94+
2022-01-01,TRUE,TRUE,Guatemala,0,0,-5,0,5
95+
2022-01-01,TRUE,TRUE,Indonesia,41,21,-5,20,25
96+
2022-01-03,TRUE,TRUE,Indonesia,0,0,-5,0,5
97+
2022-01-04,TRUE,TRUE,Indonesia,41,21,-5,20,25
98+
2022-01-05,TRUE,TRUE,Indonesia,0,0,-5,0,5
99+
2022-01-01,TRUE,FALSE,Uruguay,0,0,-5,0,5
100+
2022-01-02,TRUE,FALSE,Uruguay,62,31,-5,31,36
101+
2022-01-03,TRUE,FALSE,Uruguay,0,0,-5,0,5
102+
2022-01-05,TRUE,FALSE,Uruguay,0,0,-5,0,5
103+
2022-01-01,TRUE,TRUE,Philippines,4,2,-5,2,7
104+
2022-01-04,TRUE,TRUE,Philippines,0,0,-5,0,5
105+
2022-01-05,TRUE,TRUE,Philippines,0,0,-5,0,5
106+
2022-01-04,TRUE,TRUE,Sweden,0,0,-5,0,5
107+
2022-01-02,TRUE,FALSE,Japan,0,0,-5,0,5
108+
2022-01-01,TRUE,FALSE,Colombia,0,0,-5,0,5
109+
2022-01-03,TRUE,FALSE,Sweden,0,0,-5,0,5
110+
2022-01-02,TRUE,FALSE,South Korea,0,0,-5,0,5
111+
2022-01-01,TRUE,FALSE,Slovenia,0,0,-5,0,5
112+
2022-01-05,TRUE,FALSE,South Korea,81,41,-5,40,45
113+
2022-01-04,TRUE,TRUE,China,0,0,-5,0,5
114+
2022-01-05,TRUE,TRUE,China,77,39,-5,38,43
115+
2022-01-02,TRUE,FALSE,Colombia,0,0,-5,0,5
116+
2022-01-05,TRUE,FALSE,Philippines,0,0,-5,0,5
117+
2022-01-04,TRUE,FALSE,Portugal,0,0,-5,0,5
118+
2022-01-02,TRUE,FALSE,Nigeria,42,21,-5,21,26
119+
2022-01-04,TRUE,FALSE,Colombia,0,0,-5,0,5
120+
2022-01-05,TRUE,FALSE,Japan,0,0,-5,0,5
121+
2022-01-02,TRUE,FALSE,Sweden,83,42,-5,41,46
122+
2022-01-05,TRUE,FALSE,Sweden,0,0,-5,0,5
123+
2022-01-05,TRUE,TRUE,South Korea,0,0,-5,0,5
124+
2022-01-02,TRUE,TRUE,Guatemala,27,14,-5,13,18
125+
2022-01-02,TRUE,TRUE,Indonesia,0,0,-5,0,5
126+
2022-01-02,TRUE,FALSE,Slovenia,0,0,-5,0,5
127+
2022-01-02,TRUE,FALSE,Ukraine,0,0,-5,0,5
128+
2022-01-05,TRUE,TRUE,Guatemala,0,0,-5,0,5
129+
2022-01-02,TRUE,TRUE,Philippines,0,0,-5,0,5
130+
2022-01-03,TRUE,FALSE,South Korea,0,0,-5,0,5
131+
2022-01-05,TRUE,FALSE,Slovenia,30,15,-5,15,20

macros/get_metric_sql.sql

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ VALIDATION ROUND ONE - THE MACRO LEVEL!
4242
LETS SET SOME VARIABLES AND VALIDATE!
4343
############ #}
4444

45+
{# Setting a variable to denote if the user has provided any dimensions #}
46+
{% if dimensions | length > 0 %}
47+
{% set dimensions_provided = true %}
48+
{% else %}
49+
{% set dimensions_provided = false %}
50+
{% endif %}
51+
4552
{# Here we set the calendar table as a variable, which ensures the default overwritten if they include
4653
a custom calendar #}
4754
{%- set calendar_tbl = ref(var('dbt_metrics_calendar_model', "dbt_metrics_default_calendar")) %}
@@ -103,7 +110,7 @@ metrics there are #}
103110
{%- set loop_metric = metrics.get_metric_relation(metric_name) -%}
104111
{%- set loop_base_model = loop_metric.model.split('\'')[1] -%}
105112
{%- set loop_model = metrics.get_model_relation(loop_base_model if execute else "") %}
106-
{{ metrics.build_metric_sql(loop_metric, loop_model, grain, non_calendar_dimensions, secondary_calculations, start_date, end_date,where,calendar_tbl, relevant_periods, calendar_dimensions) }}
113+
{{ metrics.build_metric_sql(loop_metric, loop_model, grain, non_calendar_dimensions, secondary_calculations, start_date, end_date,where,calendar_tbl, relevant_periods, calendar_dimensions,dimensions_provided) }}
107114
{% endfor %}
108115

109116
{{ metrics.gen_joined_metrics_cte(metric_tree["parent_set"], metric_tree["expression_set"], metric_tree["ordered_expression_set"], grain, non_calendar_dimensions, calendar_dimensions, secondary_calculations, relevant_periods) }}
@@ -120,7 +127,7 @@ metrics there are #}
120127
{%- set single_metric = metric(metric_name) -%}
121128
{%- set single_base_model = single_metric.model.split('\'')[1] -%}
122129
{%- set single_model = metrics.get_model_relation(single_base_model if execute else "") %}
123-
{{ metrics.build_metric_sql(single_metric, single_model, grain, non_calendar_dimensions, secondary_calculations, start_date, end_date, where, calendar_tbl, relevant_periods, calendar_dimensions) }}
130+
{{ metrics.build_metric_sql(single_metric, single_model, grain, non_calendar_dimensions, secondary_calculations, start_date, end_date, where, calendar_tbl, relevant_periods, calendar_dimensions,dimensions_provided) }}
124131
{% endfor %}
125132
{{ metrics.gen_secondary_calculation_cte(metric_tree["base_set"], non_calendar_dimensions, grain, metric_tree["full_set"], secondary_calculations, calendar_dimensions) }}
126133
{{ metrics.gen_final_cte(metric_tree["base_set"], grain, metric_tree["full_set"], secondary_calculations) }}
Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
1-
{%- macro build_metric_sql(metric, model, grain, dimensions, secondary_calculations, start_date, end_date, where, calendar_tbl,relevant_periods,calendar_dimensions) %}
2-
1+
{%- macro build_metric_sql(metric, model, grain, dimensions, secondary_calculations, start_date, end_date, where, calendar_tbl,relevant_periods,calendar_dimensions,dimensions_provided) %}
2+
33
{# This is the SQL Gen part - we've broken each component out into individual macros #}
44
{# We broke this out so it can loop for composite metrics #}
55
{{metrics.gen_aggregate_cte(metric,model,grain,dimensions,secondary_calculations, start_date, end_date, where, calendar_tbl,relevant_periods,calendar_dimensions)}}
6-
{{metrics.gen_dimensions_cte(metric,dimensions)}}
7-
{{metrics.gen_spine_time_cte(metric,grain,dimensions,secondary_calculations,relevant_periods,calendar_dimensions)}}
6+
7+
{# Adding conditional logic to exclude the unique combinations of dimensions if there are no dimensions #}
8+
{% if dimensions_provided == true %}
9+
{{metrics.gen_dimensions_cte(metric,dimensions)}}
10+
{% endif %}
11+
12+
{{metrics.gen_spine_time_cte(metric,grain,dimensions,secondary_calculations,relevant_periods,calendar_dimensions,dimensions_provided)}}
813
{{metrics.gen_metric_cte(metric,grain,dimensions,secondary_calculations,start_date, end_date,relevant_periods,calendar_dimensions)}}
914

1015
{% endmacro %}

0 commit comments

Comments
 (0)