{% set score = ((passed_checks / total_checks * 100) | round | int) if total_checks > 0 else 0 %} {% set errors = [] %} {% set warnings = [] %} {% set passes = [] %} {% set issue_counts = {} %} {% for r in validation_results %} {% set st = r.summary.status %} {% if st == 'fail' %}{% set _ = errors.append(r) %} {% elif st == 'warn' %}{% set _ = warnings.append(r) %} {% else %}{% set _ = passes.append(r) %}{% endif %} {% if st != 'pass' %} {% for label, cnt in r.summary.summary.items() %} {% if cnt > 0 %} {% set current = issue_counts.get(label, 0) %} {% set _ = issue_counts.update({label: current + cnt}) %} {% endif %} {% endfor %} {% endif %} {% endfor %} {% set sorted_issues = issue_counts.items() | sort(attribute=1, reverse=True) | list %} {% set max_issues = sorted_issues[0][1] if sorted_issues else 1 %} {% macro render_check(r, state) %} {% set issue_count = r.summary.issue_count | default(0) %}
{{ r.columns | join(", ") if r.columns else "dataset" }}
{{ r.rule_type | replace("_", " ") }}
{{ r.summary.message }}
{{ "{:,}".format(issue_count) }} issue{{ "s" if issue_count != 1 else "" }} {{ "{:,}".format(r.summary.checked_rows | default(0)) }} rows checked {% for label, cnt in r.summary.summary.items() %} {{ label }}: {{ "{:,}".format(cnt) }} {% endfor %}
{% if r.summary.samples %}
Sample failing rows
{% for sample in r.summary.samples %}
{% for key, value in sample.items() %}
{{ key }}{{ value }}
{% endfor %}
{% endfor %}
{% endif %}
{{ "error" if state == "fail" else state }}
{% endmacro %}
V validater
{{ source_config.get('type', 'source') }} {{ source_config.get('path', 'path unavailable') }} {{ generated_at }}

{{ run_name }}

{{ description or "Data quality validation report" }}
{{ score }}%
quality score
checks
{{ total_checks }}
failed
{{ failed_checks }}
warnings
{{ warned_checks }}
passed
{{ passed_checks }}
pipeline
{{ "blocked" if failed_checks > 0 else "passing" }}
Check Results
{% if errors %}
Failed Checks
{% for r in errors %}{{ render_check(r, "fail") }}{% endfor %} {% endif %} {% if warnings %}
Warnings
{% for r in warnings %}{{ render_check(r, "warn") }}{% endfor %} {% endif %} {% if passes %}
Passed Checks
{% for r in passes %}{{ render_check(r, "pass") }}{% endfor %} {% endif %} {% if not validation_results %}
No validation results available.
{% endif %}