{% macro f2dq_metric_max(context) %} max({{context.column_name}}) {% endmacro %} {% macro f2dq_metric_min(context) %} min({{context.column_name}}) {% endmacro %} {% macro f2dq_metric_avg(context) %} avg(cast ({{context.column_name}} as {{ numeric_type() }})) {% endmacro %} {% macro f2dq_metric_stddev(context) %} stddev(cast ( {{context.column_name}} as {{ numeric_type() }})) {% endmacro %} {% macro f2dq_metric_variance(context) %} variance(cast ( {{context.column_name}} as {{ numeric_type() }})) {% endmacro %} {% macro f2dq_metric_max_length(context) %} max(length({{context.column_name}})) {% endmacro %} {% macro f2dq_metric_min_length(context) %} min(length({{context.column_name}})) {% endmacro %} {% macro f2dq_metric_avg_length(context) %} avg(cast (length( {{context.column_name}} ) as {{ numeric_type() }})) {% endmacro %} {% macro f2dq_metric_nulls_count(context) %} coalesce( sum( case when {{context.column_name}} is null then 1 else 0 end ), 0 ) {% endmacro %} {% macro f2dq_metric_missing_count(context) %} coalesce( sum( case when {{context.column_name}} is null then 1 when {{context.column_name}} = '' then 1 else 0 end ), 0 ) {% endmacro %} {% macro f2dq_metric_nulls_percent(context) %} {{ percentage_formula(f2dq_metric_nulls_count(context), f2dq_metric_row_count()) }} {% endmacro %} {% macro f2dq_metric_missing_percent(context) %} {{ percentage_formula(f2dq_metric_missing_count(context), f2dq_metric_row_count()) }} {% endmacro %} {% macro f2dq_metric_count_true(context) %} COALESCE( SUM( CASE WHEN {{ context.column_name }} IS TRUE THEN 1 ELSE 0 END ), 0 ) {% endmacro %} {% macro f2dq_metric_count_false(context) %} COALESCE( SUM( CASE WHEN {{ context.column_name }} IS FALSE THEN 1 ELSE 0 END ), 0 ) {% endmacro %}