← Back to Create Analyzer

What can an analyzer check?

When you describe an analyzer in plain English, the AI generates a JavaScript module that inspects your Power Apps Canvas app. This page is written for Power Fx developers: it describes — in familiar terms — exactly what the analyzer can “see” and therefore what you can ask it to check. If you want the raw JavaScript surface instead, see the Analyzer Data Reference.

On this page

Controls & screens

The analyzer gets a flat list of every screen, component definition, component instance, and control in the app — same hierarchy you see in the Studio tree view. For each one you know:

Ask things like:

Power Fx formulas

Every property that starts with = in the YAML is captured as a formula — that includes OnSelect, Items, Visible, Text, Default, OnStart, BorderColor, and everything else. The analyzer sees:

Ask things like:

Variables — Set() and UpdateContext()

Every Set() (global) and UpdateContext() (context / screen-scoped) call is already parsed and grouped by variable name. For every variable you get the list of places it’s written, and a separate flag for whether it’s ever read in any formula.

Ask things like:

Collections — Collect() and ClearCollect()

Same story as variables: every collection mutation is grouped by collection name, and the analyzer knows whether that collection is consumed anywhere (as a gallery Items, in a LookUp, ForAll, CountRows, and so on).

Ask things like:

Cross-references & dead code

The analyzer builds a reverse index of which controls are referenced where, including:

Ask things like:

Components (definitions & instances)

Canvas components are seen in two forms: the definition (with its custom input/output properties) and every instance placed on a screen. The analyzer knows which definition each instance belongs to, so it can cross-check the two.

Ask things like:

App-level hooks — OnStart, Formulas, StartScreen

The App node exposes its own formulas just like any other control: OnStart, OnError, Formulas (named formulas), StartScreen, etc. Named formulas are indexed by name so you can tell which ones are actually referenced.

Ask things like:

What the analyzer can’t see

The analyzer works against the unpacked Canvas app source — so anything that lives outside that is off-limits. Be sure your prompt doesn’t ask for:

Writing a good prompt