← All entries

Aggregating record counts from related tables

Praxisis D365 Wiki · Public reference · Client-specific details redacted

Source: Claude.ai chat (original: aggregating-record-counts-from-related-tables__b6d31e0a.md) Added: 2026-10-02

Summary

  • Dataverse rollup columns aggregate COUNT / SUM / MIN / MAX / AVG from a related 1:N child table with filters on the child row (and optionally the parent).
  • Rollups are not real-time — a system job recalculates every 12 hours by default; a per-record ↻ icon or CalculateRollupField call forces a refresh.
  • Hard limits: 1:N only (no N:N or reverse lookups from child), max 100 rollups per environment / 10 per table, no "contains" filter, cannot source from a formula column or another rollup.

Key takeaways

  • Where rollups fit: Account → Cases style parent counts of filtered children. Great for KPIs where 12-hr latency is acceptable.
  • When rollups don't fit: real-time, N:N, multi-hop, or formula-driven aggregations — use a Dataverse plugin on child Create/Update/Delete, or a Power Automate flow (simpler but slight delay).
  • Power Fx formula columns cannot aggregate across related tables, so they are not an alternative here.

Learnings / how to apply

  • For sustainment reporting, start with rollups; promote to plugin only when the latency SLA fails.
  • When scoping new entities, pre-count the project's rollup usage against the per-env / per-table caps so you don't block future scaling.
  • Expose the ↻ force-recalc on key records so power users can refresh without waiting for the system job — ships well as part of a Praxisis Sustain Operating Model handover.

Need this applied to your own tenant?

Praxisis Sustain Self-Serve builds a private AI Wiki trained on your documents and tickets, with free Tier-2 support when the AI cannot answer. Book a 30-min overview.