Analyze and visualize data
Analyze and visualize data tests how you surface information: Dataverse views and charts inside model-driven apps, chart controls inside canvas apps, and Power BI for cross-source analytics - plus the delegation rules that decide whether a number is actually correct.
Where each visual belongs
Dataverse views, charts, and model-driven dashboards give users operational lists and simple aggregates on the app's own data. Canvas apps have basic chart controls bound to collections or tables. Power BI is the right tool once data spans sources or needs modelling: a semantic model holds tables and DAX measures, reports visualise it, and dashboards pin tiles from one or more reports. Distribute through a workspace app and grant workspace roles (Admin, Member, Contributor, Viewer). Row-level security is defined as DAX filters on roles, typically using USERPRINCIPALNAME().
Delegation decides correctness
Power Apps sends Filter, Sort, and LookUp to the source only when the connector supports delegation. Dataverse delegates most query and aggregate functions; SharePoint delegates far fewer. Anything non-delegable is evaluated on only the first N rows - 500 by default, configurable up to 2,000 - so results silently truncate. Aggregating a large SharePoint list inside the app is therefore unreliable; move the data to Dataverse, pre-aggregate in a flow, or build the measure in Power BI.
Worked example
A SharePoint list holds 8,000 support tickets. The maker displays CountRows(Filter(Tickets, Status = "Open")) and sees 500. Reasoning: CountRows over a filtered SharePoint list is non-delegable, so Power Apps evaluates only the first 500 retrieved rows. Raising the data row limit to 2,000 still returns a wrong answer. The fix is to move the data to Dataverse, where the same formula delegates, or count rows in a flow using a delegable OData filter and return the total.
Traps
- Treating a delegation warning as cosmetic.
- Raising the row limit instead of fixing the query.
- Confusing a Power BI dashboard (pinned tiles) with a report.
- Assuming Power BI row-level security also filters Dataverse or the app UI.