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

106 lines
4.0 KiB
SQL

{% macro metric_expression(table, metric, expression, column_name=None, condition=None) %}
select * from {{ref('f2dq_base_metrics')}}
where
table_name = '{{ f2dq.full_table_name_values(table.identifier, table.schema, table.database)}}' and
metric = '{{ metric }}' and
{% if condition is not none %}
{{ condition }} and
{% endif %}
{% if column_name is none %}
not ( {{ expression }} )
{% else %}
column_name = '{{ column_name }}' and
not ( {{ expression }} )
{% endif %}
{% endmacro %}
{# old test macros, will be removed after some time #}
{% test metric_expression_is_true(model, table, metric, expression, column_name=None, condition=None) %}
{{ f2dq.metric_expression(table, metric, expression, column_name=None, condition=None) }}
{% endtest %}
{% test metric_equal_to(model, table, metric, value, column_name=None, condition=None) %}
{{ f2dq.metric_expression(table, metric, 'value = ' ~ value, column_name, condition) }}
{% endtest %}
{% test metric_in_range(model, table, metric, min_value, max_value, column_name=None, condition=None) %}
{{ f2dq.metric_expression(table, metric, 'value >= ' ~ min_value ~ ' and value <= ' ~ max_value, column_name, condition) }}
{% endtest %}
{# new test macros #}
{% test assert_true(model, column_name=None, metric=None, expression=expression, condition=None) %}
-- depends_on: {{ ref('f2dq_base_metrics') }}
{% if execute %}
{{ f2dq.metric_expression(model, metric, expression, column_name, condition) }}
{% else %}
{{ f2dq.empty_table() }}
{% endif %}
{% endtest %}
{% test assert_false(model, column_name=None, metric=None, expression=expression, condition=None) %}
-- depends_on: {{ ref('f2dq_base_metrics') }}
{% if execute %}
{{ f2dq.metric_expression(model, metric, 'not (' ~ expression ~ ')', column_name, condition) }}
{% else %}
{{ f2dq.empty_table() }}
{% endif %}
{% endtest %}
{% test assert_in_range(model, column_name=None, metric=None, min_value=None, max_value=None, condition=None) %}
-- depends_on: {{ ref('f2dq_base_metrics') }}
{% if execute %}
{{ f2dq.metric_expression(model, metric, 'value >= ' ~ min_value ~ ' and value <= ' ~ max_value, column_name, condition) }}
{% else %}
{{ f2dq.empty_table() }}
{% endif %}
{% endtest %}
{% test assert_equal(model, column_name=None, metric=None, value=value, condition=None) %}
-- depends_on: {{ ref('f2dq_base_metrics') }}
{% if execute %}
{{ f2dq.metric_expression(model, metric, 'value = ' ~ value, column_name, condition) }}
{% else %}
{{ f2dq.empty_table() }}
{% endif %}
{% endtest %}
{% test assert_greater(model, column_name=None, metric=None, value=None, condition=None) %}
-- depends_on: {{ ref('f2dq_base_metrics') }}
{% if execute %}
{{ f2dq.metric_expression(model, metric, 'value > ' ~ value, column_name, condition) }}
{% else %}
{{ f2dq.empty_table() }}
{% endif %}
{% endtest %}
{% test assert_greater_equal(model, column_name=None, metric=None, value=None, condition=None) %}
-- depends_on: {{ ref('f2dq_base_metrics') }}
{% if execute %}
{{ f2dq.metric_expression(model, metric, 'value >= ' ~ value, column_name, condition) }}
{% else %}
{{ f2dq.empty_table() }}
{% endif %}
{% endtest %}
{% test assert_less(model, column_name=None, metric=None, value=None, condition=None) %}
-- depends_on: {{ ref('f2dq_base_metrics') }}
{% if execute %}
{{ f2dq.metric_expression(model, metric, 'value < ' ~ value, column_name, condition) }}
{% else %}
{{ f2dq.empty_table() }}
{% endif %}
{% endtest %}
{% test assert_less_equal(model, column_name=None, metric=None, value=None, condition=None) %}
-- depends_on: {{ ref('f2dq_base_metrics') }}
{% if execute %}
{{ f2dq.metric_expression(model, metric, 'value <= ' ~ value, column_name, condition) }}
{% else %}
{{ f2dq.empty_table() }}
{% endif %}
{% endtest %}