Skip to content

Commit 05081d4

Browse files
author
Michael Myaskovsky
committed
fixed boolean macros
1 parent b5de241 commit 05081d4

File tree

6 files changed

+53
-39
lines changed

6 files changed

+53
-39
lines changed

macros/edr/dbt_artifacts/upload_dbt_invocation.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
'command': flags.WHICH,
1818
'dbt_version': dbt_version,
1919
'elementary_version': elementary.get_elementary_package_version(),
20-
'full_refresh': edr_evaluate_bool_condition(flags.FULL_REFRESH),
20+
'full_refresh': edr_evaluate_bool(flags.FULL_REFRESH),
2121
'invocation_vars': elementary.get_invocation_vars(),
2222
'vars': elementary.get_all_vars(),
2323
'target_name': target.name,

macros/edr/dbt_artifacts/upload_run_results.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
'execute_completed_at': none,
5959
'compile_started_at': none,
6060
'compile_completed_at': none,
61-
'full_refresh': edr_evaluate_bool_condition(flags.FULL_REFRESH),
61+
'full_refresh': edr_evaluate_bool(flags.FULL_REFRESH),
6262
'compiled_code': elementary.get_compiled_code(node, as_column_value=true),
6363
'failures': run_result_dict.get('failures'),
6464
'query_id': run_result_dict.get('adapter_response', {}).get('query_id'),

macros/utils/data_types/bool_type_values.sql

Lines changed: 38 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,45 @@
44
{# We have different bools for use in parameter wheres vs. in columns as values#}
55

66

7-
{#True bools#}
8-
9-
{% macro edr_bool_true() -%}
10-
{{ return(adapter.dispatch('edr_bool_true', 'elementary')()) }}
11-
{%- endmacro %}
12-
13-
{# False bools#}
14-
15-
{% macro edr_bool_false() -%}
16-
{{ return(adapter.dispatch('edr_bool_false', 'elementary')()) }}
17-
{%- endmacro %}
7+
{% macro edr_evaluate_bool(return_value) %}
8+
{{ return(adapter.dispatch('edr_bool', 'elementary')(return_value)) }}
9+
{%endmacro%}
1810

1911
{% macro edr_evaluate_bool_condition(return_value) %}
20-
{% if return_value == true %}
21-
{{ return(adapter.dispatch('edr_bool_true', 'elementary')()) }}
22-
{% else %}
23-
{{ return(adapter.dispatch('edr_bool_false', 'elementary')()) }}
24-
{% endif %}
12+
{{ return(adapter.dispatch('edr_bool_condition', 'elementary')(return_value)) }}
2513
{%endmacro%}
2614

27-
28-
{% macro default__edr_bool_true() %}{%do return(true)%}{% endmacro %}
29-
30-
{% macro fabric__edr_bool_true() %}1{% endmacro %}
31-
32-
{% macro default__edr_bool_false() %}{%do return(false)%}{% endmacro %}
33-
34-
{% macro fabric__edr_bool_false() %}0{% endmacro %}
15+
{% macro default__edr_bool(return_value) %}
16+
{% if return_value == true %}
17+
{%do return(true)%}
18+
{% else %}
19+
{%do return(false)%}
20+
{% endif %}
21+
{% endmacro %}
22+
23+
24+
{% macro fabric__edr_bool(return_value) %}
25+
{% if return_value == true %}
26+
{%do return(1)%}
27+
{% else %}
28+
{%do return(0)%}
29+
{% endif %}
30+
{% endmacro %}
31+
32+
33+
{% macro default__edr_bool_condition(return_value) %}
34+
{% if return_value == true %}
35+
{%do return(true)%}
36+
{% else %}
37+
{%do return(false)%}
38+
{% endif %}
39+
{% endmacro %}
40+
41+
42+
{% macro fabric__edr_bool_condition(return_value) %}
43+
{% if return_value == true %}
44+
{%do return('1=1')%}
45+
{% else %}
46+
{%do return('0=1')%}
47+
{% endif %}
48+
{% endmacro %}

models/edr/data_monitoring/anomaly_detection/anomaly_threshold_sensitivity.sql

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ score_sensitivity as (
2121
training_avg as metric_avg,
2222
training_stddev as metric_stddev,
2323
anomaly_score,
24-
case when abs(anomaly_score) >= 1.5 then {{ elementary.edr_bool_true() }} else {{ elementary.edr_bool_false() }} end as {{ elementary.edr_quote_column('is_anomaly_1_5') }},
25-
case when abs(anomaly_score) >= 2 then {{ elementary.edr_bool_true() }} else {{ elementary.edr_bool_false() }} end as {{ elementary.edr_quote_column('is_anomaly_2') }},
26-
case when abs(anomaly_score) >= 2.5 then {{ elementary.edr_bool_true() }} else {{ elementary.edr_bool_false() }} end as {{ elementary.edr_quote_column('is_anomaly_2_5') }},
27-
case when abs(anomaly_score) >= 3 then {{ elementary.edr_bool_true() }} else {{ elementary.edr_bool_false() }} end as {{ elementary.edr_quote_column('is_anomaly_3') }},
28-
case when abs(anomaly_score) >= 3.5 then {{ elementary.edr_bool_true() }} else {{ elementary.edr_bool_false() }} end as {{ elementary.edr_quote_column('is_anomaly_3_5') }},
29-
case when abs(anomaly_score) >= 4 then {{ elementary.edr_bool_true() }} else {{ elementary.edr_bool_false() }} end as {{ elementary.edr_quote_column('is_anomaly_4') }},
30-
case when abs(anomaly_score) >= 4.5 then {{ elementary.edr_bool_true() }} else {{ elementary.edr_bool_false() }} end as {{ elementary.edr_quote_column('is_anomaly_4_5') }}
24+
case when abs(anomaly_score) >= 1.5 then {{ elementary.edr_evaluate_bool(true) }} else {{ elementary.edr_evaluate_bool(false) }} end as {{ elementary.edr_quote_column('is_anomaly_1_5') }},
25+
case when abs(anomaly_score) >= 2 then {{ elementary.edr_evaluate_bool(true) }} else {{ elementary.edr_evaluate_bool(false) }} end as {{ elementary.edr_quote_column('is_anomaly_2') }},
26+
case when abs(anomaly_score) >= 2.5 then {{ elementary.edr_evaluate_bool(true) }} else {{ elementary.edr_evaluate_bool(false) }} end as {{ elementary.edr_quote_column('is_anomaly_2_5') }},
27+
case when abs(anomaly_score) >= 3 then {{ elementary.edr_evaluate_bool(true)}} else {{ elementary.edr_evaluate_bool(false) }} end as {{ elementary.edr_quote_column('is_anomaly_3') }},
28+
case when abs(anomaly_score) >= 3.5 then {{ elementary.edr_evaluate_bool(true) }} else {{ elementary.edr_evaluate_bool(false) }} end as {{ elementary.edr_quote_column('is_anomaly_3_5') }},
29+
case when abs(anomaly_score) >= 4 then {{ elementary.edr_evaluate_bool(true)}} else {{ elementary.edr_evaluate_bool(false) }} end as {{ elementary.edr_quote_column('is_anomaly_4') }},
30+
case when abs(anomaly_score) >= 4.5 then {{ elementary.edr_evaluate_bool(true) }} else {{ elementary.edr_evaluate_bool(false) }} end as {{ elementary.edr_quote_column('is_anomaly_4_5') }}
3131
from metrics_anomaly_score
3232
where abs(anomaly_score) >= 1.5
3333

models/edr/data_monitoring/anomaly_detection/metrics_anomaly_score.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ final as (
114114
updated_at,
115115
case
116116
when abs(anomaly_score) > {{ elementary.get_config_var('anomaly_sensitivity') }}
117-
then {{ elementary.edr_bool_true() }}
118-
else {{ elementary.edr_bool_false() }}
117+
then {{ elementary.edr_evaluate_bool(true) }}
118+
else {{ elementary.edr_evaluate_bool(false) }}
119119
end
120120
as is_anomaly
121121
from metrics_anomaly_score

models/edr/run_results/model_run_results.sql

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ SELECT
4242
models.alias,
4343
ROW_NUMBER() OVER (PARTITION BY run_results.unique_id ORDER BY run_results.generated_at DESC) AS model_invocation_reverse_index,
4444
CASE WHEN FIRST_VALUE(invocation_id) OVER (PARTITION BY {{ elementary.edr_time_trunc('day', 'run_results.generated_at') }} ORDER BY run_results.generated_at ASC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) = invocation_id
45-
THEN {{ elementary.edr_bool_true() }}
46-
ELSE {{ elementary.edr_bool_false() }}
45+
THEN {{ elementary.edr_evaluate_bool(true) }}
46+
ELSE {{ elementary.edr_evaluate_bool(false) }}
4747
END AS is_the_first_invocation_of_the_day,
4848
CASE WHEN LAST_VALUE(invocation_id) OVER (PARTITION BY {{ elementary.edr_time_trunc('day', 'run_results.generated_at') }} ORDER BY run_results.generated_at ASC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) = invocation_id
49-
THEN {{ elementary.edr_bool_true() }}
50-
ELSE {{ elementary.edr_bool_false() }}
49+
THEN {{ elementary.edr_evaluate_bool(true) }}
50+
ELSE {{ elementary.edr_evaluate_bool(false) }}
5151
END AS is_the_last_invocation_of_the_day
5252

5353
FROM dbt_run_results run_results

0 commit comments

Comments
 (0)