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
CalculateRollupFieldcall 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.