Power BI · Artificial Intelligence
Give AI Your Whole Power BI Project, Not a Screenshot
Most teams paste a screenshot and a broken measure into a chatbot, then wonder why the answer is generic. The fix is handing over the project itself — the semantic model, the DAX, the relationships, the report layout. Here is how to export it, and what you should never upload.

An AI assistant is only as good as the context it gets. Ask one to "fix this DAX measure" from a screenshot and you get textbook advice: add variables, avoid iterators, use DIVIDE. Reasonable, generic, and mostly useless — because the assistant cannot see that your date table is not marked as a date table, that there is a bidirectional relationship between Sales and Budget, or that three other measures already compute the same thing under different names.
The interesting part of AI-assisted BI work is not prompt phrasing. It is getting the actual project into the context window. Power BI makes that harder than it should be, because the file everyone shares is the one you should not share.
The .pbix is the wrong thing to hand over
A .pbix is a ZIP container. To see this yourself: make a copy of the file, rename the copy's extension from .pbix to .zip, and open it. Windows Explorer will browse it like any other archive. (If you don't see the extension, turn on View → Show → File name extensions in Explorer first.)
Inside, you will find roughly this:
DataModel— the compressed VertiPaq model. If any table is in Import mode, this is a copy of your actual rows.Report/Layout— the report definition as JSON, written as one enormous UTF-16 encoded line, so most editors need a reformat before it is readable at all.DataMashup— a nested ZIP holding your Power Query M inFormulas/Section1.m.Connections,Metadata,SecurityBindings,DiagramLayout,Settings.
Two conclusions. First: never drop a raw .pbix into a public chatbot — you are uploading the data, not just the logic. Second: even if you could, it is binary and unstructured, so the model would reason over almost none of it.
YoY Net Revenue % =
DIVIDE(
CALCULATE( SUM( Sales[NetAmount] ), FILTER( ALL( 'Date' ), 'Date'[Year] = MAX( 'Date'[Year] ) ) )
- CALCULATE( SUM( Sales[NetAmount] ), FILTER( ALL( 'Date' ), 'Date'[Year] = MAX( 'Date'[Year] ) - 1 ) ),
CALCULATE( SUM( Sales[NetAmount] ), FILTER( ALL( 'Date' ), 'Date'[Year] = MAX( 'Date'[Year] ) - 1 ) )
)