Files
M7XBeastandCursor ff096b51b5 Initial publish of dbt_f2dq (f2dq) package v0.12.1.
Clean package repo for Gitea installs via packages.yml git URL.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-11 17:37:40 +03:00

92 lines
2.1 KiB
SQL

{% 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 %}