import json import os from decimal import Decimal from time import perf_counter os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings") import django django.setup() from django.contrib.auth.models import User from django.db import connection from finance.analysis import analyze, default_preferences from finance.models import Dataset if connection.vendor != "postgresql": raise SystemExit("Reconciliation requires PostgreSQL exact NUMERIC aggregation") ds = Dataset.objects.get(sha256="98ef41e898c24f0929a9da6ec185b7331f69f0478b52056cbc7834e1ef5877ec") member = User.objects.get(username="admin").membership start = perf_counter() result = analyze( ds, member, { "start": "2026-08", "end": "2026-08", "comparison": "yoy", "group": "department", "metric": "revenue", "filters": {}, }, default_preferences(ds), ) assert ds.row_count == 332830 assert result["summary"]["revenue"]["current"] == Decimal("152419115.348455502666069") assert result["summary"]["revenue"]["baseline"] == Decimal("225550255.4187610638720") assert result["summary"]["gross"]["current"] == Decimal("17868580.85186759073400145") assert result["summary"]["gross"]["baseline"] == Decimal("24790335.405853982758000") assert result["summary"]["customers"]["current"] == 38361 assert result["summary"]["customers"]["baseline"] == 33147 assert result["summary"]["roi"]["current"] is None assert sum(r["values"]["revenue"]["delta"] for r in result["rows"]) == result["summary"]["revenue"]["delta"] report = { "status": "passed", "source": ds.name, "sha256": ds.sha256, "rows": ds.row_count, "query_seconds": round(perf_counter() - start, 3), "summary": result["summary"], "quality": ds.quality, "groups": len(result["rows"]), } print(json.dumps(report, ensure_ascii=False, default=str, indent=2))