dq-doctor Report: {{ report.table_name }}
{{ report.db_path }} · Generated at {{ report.generated_at }}
Quality Score
{{ report.quality_score }}/100
Rows
{{ report.row_count }}
Columns
{{ report.column_count }}
Total Rules
{{ report.total_rules }}
Passed
{{ report.passed_rules }}
Failed
{{ report.failed_rules }}
Suggested
{{ report.suggested_rules }}
Column Profile
| Column |
Type |
Null Rate |
Distinct Rate |
Min |
Max |
Semantic |
{% for col in report.profile.columns %}
| {{ col.name }} |
{{ col.dtype }} |
{{ "%.2f%%" | format(col.null_rate * 100) }} |
{{ "%.2f%%" | format(col.distinct_rate * 100) }} |
{{ col.min_value if col.min_value is not none else "-" }} |
{{ col.max_value if col.max_value is not none else "-" }} |
{{ col.inferred_semantic_type }} |
{% endfor %}
Rule Suggestions
| Rule Type |
Column |
Confidence |
Severity |
Reason |
{% for rule in report.rules %}
| {{ rule.rule_type }} |
{{ rule.column }} |
{{ "%.0f%%" | format(rule.confidence * 100) }} |
{{ rule.severity }} |
{{ rule.reason }} |
{% endfor %}
Validation Results
| Status |
Rule Type |
Column |
Source |
Failed / Total |
Message |
{% for result in report.results %}
|
{% if result.total_count == 0 and result.passed %}
SUGGEST
{% elif result.passed %}
PASS
{% else %}
FAIL
{% endif %}
|
{{ result.rule_type }} |
{{ result.column }} |
{% set rule = report.rules | selectattr('rule_id', 'equalto', result.rule_id) | first %}
{% if rule and rule.source == 'llm' %}
LLM
{% else %}
heuristic
{% endif %}
|
{{ result.failed_count }} / {{ result.total_count }} |
{{ result.message }} |
{% endfor %}
{% set llm_rules = report.rules | selectattr('source', 'equalto', 'llm') | list %}
{% if llm_rules %}
LLM Insights
| Rule Type |
Column |
Confidence |
Severity |
Insight |
{% for rule in llm_rules %}
| {{ rule.rule_type }} |
{{ rule.column }} |
{{ "%.0f%%" | format(rule.confidence * 100) }} |
{{ rule.severity }} |
{{ rule.reason }} |
{% endfor %}
{% endif %}
{% if report.pii_findings %}
PII Detection
| Column | PII Type |
{% for p in report.pii_findings %}
| {{ p.column }} |
{{ p.pii_type }} |
{% endfor %}
{% endif %}
{% if report.referential_integrity %}
Referential Integrity
| From | To | Orphans | Total | Status |
{% for ri in report.referential_integrity %}
| {{ ri.from_table }}.{{ ri.from_column }} |
{{ ri.to_table }}.{{ ri.to_column }} |
{{ ri.orphan_rows }} |
{{ ri.total_rows }} |
{% if ri.orphan_rows == 0 %}
PASS
{% else %}
FAIL
{% endif %}
|
{% endfor %}
{% endif %}