Ga naar de hoofdinhoud

Hoe we een Power BI Agent bouwden voor governed DAX-uitvoering

De Power BI Agent van Ask Titan gebruikt beheerde semantic-model-metadata en bedrijfsspecifieke businesscontext om de vraag te begrijpen, DAX te genereren en deze uit te voeren tegen het geconfigureerde semantische model.

Power BI DAX Context engineering Semantische modellen LangGraph
Ask Titan · Power BI Agent
governed context
Control plane · Webadmin
Configureer de context
Verbinding
Metadata
Businesscontext
Runtime
Power BI Agent
selecteer context → redeneer → genereer DAX
DAX ↓ ↑ Resultaat
Power BI semantic model
Measures · relaties · hiërarchieën · businesslogica
Principe: Configureer betekenis één keer. Selecteer alleen wat de Power BI Agent voor de huidige vraag nodig heeft.

Zeven artikelen, één architectuur

Deel 4 gaat achter de Power BI-capabilitygrens en laat zien hoe governed businesscontext uitvoerbare DAX wordt. De serie gaat verder met conversatiecontext, bedrijfsdocumenten en antwoordtraceerbaarheid.

DAX genereren is de laatste stap. Het begrijpen van de businessvraag komt eerst.

Een zakelijke gebruiker vraagt niet om een tabel, kolom of measure. Die vraagt waarom de marge daalde, welke klanten de verandering veroorzaakten, waar rendement verloren ging of hoe de productie presteerde.

Voordat de Power BI Agent een query kan genereren, moet deze de businessbetekenis achter de vraag bepalen en de semantische context identificeren die nodig is om deze te beantwoorden.

DAX is de output van dat proces, niet het startpunt.

Businessvraag

“Welke klanten veroorzaakten vorige maand onze margedaling?”

Los de vraag op
Betekenis
Wat betekent 'marge' hier?

Bedrijfsterminologie en businessdefinities.

Eigenaarschap
Waar staat de logica?

Semantisch model, measures en relaties.

Scope
Welke context is nodig?

Alleen wat relevant is voor deze vraag.

Power BI Agent
Redeneer over de opgeloste context

Combineer de businessbetekenis met de relevante semantic-model-context en bouw de uitvoerbare query.

Input
Opgeloste context
Resultaat
DAX-query
klaar voor uitvoering op het semantic model

Het moeilijke deel gebeurt voor de DAX wordt gegenereerd.

Technische metadata

Wat bestaat er?

Tabellen, kolommen, datatypes, measures, relaties en voorbeeldwaarden.

Businesscontext

Wat betekent het hier?

Bedrijfsterminologie, tabel- en veldbeschrijvingen, KPI-betekenis, jargon en processemantiek vastgelegd in beheerde metadata.

Query-time-context

Wat is nu belangrijk?

Alleen de tabellen, schema's, samples en eerdere execution feedback die relevant zijn voor de huidige vraag.

Metadata is niet genoeg. De agent heeft businesscontext nodig

Context engineering is de bredere praktijk van bepalen welke instructies, tools, externe informatie, state en opgehaalde data het model tijdens inference bereiken. Ask Titan past dat idee toe op enterprise-semantiek.

We gebruiken businesscontext-engineering als praktische specialisatie: leg bedrijfsspecifieke terminologie, definities en procesbetekenis rond een semantisch model vast en selecteer vervolgens alleen de bruikbare onderdelen voor de huidige vraag.

Dit is geen Power BI-productterm. Het is hoe we het context-engineeringpatroon rond governed bedrijfsdata beschrijven.

Let op

Een semantisch model vertelt de AI hoe data is gestructureerd. Businesscontext vertelt de AI wat die data binnen jouw bedrijf betekent.

Structuur, governed businesslogica en bedrijfsspecifieke betekenis zijn verschillende dingen

Door deze lagen te scheiden is de runtime eenvoudiger te govern-en. Het semantic model blijft het systeem dat berekeningen en relaties beheert. Ask Titan voegt er een expliciete contextlaag omheen toe in plaats van die semantiek naar één grote agentprompt te kopiëren.

01 · Structuur

Technische metadata

Tabel- en veldnamen, datatypes en modelstructuur vertellen de agent waarnaar verwezen kan worden.

02 · Bedrijfslogica

Power BI semantic model

Measures, relaties, hiërarchieën en DAX-berekeningen blijven in de semantic-model-engine.

03 · Bedrijfsbetekenis

Businesscontext

Beschrijvingen en beheerde metadata leggen uit hoe de organisatie concepten, velden en terminologie gebruikt.

Configureer de semantische grens voordat de vraag binnenkomt

Ask Titan Webadmin is de control plane voor de Power BI-capability. Beheerders configureren de verbinding, selecteren het semantische model, beheren tabel- en veldbeschrijvingen en slaan de metadata op die de specialist agent tijdens runtime gebruikt.

Businessdocumentatie kan ook helpen bij het genereren van metadata. Voorgestelde beschrijvingen worden beoordeeld en zijn bewerkbaar voordat ze worden opgeslagen. De runtime gebruikt de resulterende beheerde metadata; hij hoeft bedrijfsbetekenis niet voor iedere vraag opnieuw te ontdekken.

Business-context-engineering via het Ask Titan-control plane Metadata van het Power BI-semantische model en optionele bedrijfsdocumentatie komen het Ask Titan-control plane binnen. Beheerders beheren en beoordelen de context, die wordt opgeslagen als beheerde semantische-modelcontext. De Power BI-agent selecteert daar tijdens runtime de relevante context uit. INPUTS SEMANTISCH MODEL Power BI-model tabellen · velden · measures relaties · datatypes voorbeeldwaarden OPTIONELE INPUT Bedrijfsdocumentatie terminologie · concepten KPI-definities betekenis verwerken bedrijfsspecifieke taal CONTROL PLANE · WEBADMIN Businesscontext-engineering Semantische betekenis configureren en beheren 1 AI genereert / cureert beschrijvingen 2 Menselijke review en bewerken 3 Beheerd opslaan metadata Beheer vindt plaats vóór inferentie BEHEERDE RUNTIMECONTEXT OPGESLAGEN CONTEXT Context van semantisch model tabel- + veldbeschrijvingen measure-definities schema + relaties bedrijfsterminologie model + verbindingsconfiguratie RUNTIME Power BI Agent genereert en voert DAX uit en retourneert daarna het resultaat OPSLAAN SELECT
Administratie gebeurt vóór inference. Configuratie en metadata leven in de control plane; queryspecifieke reasoning gebeurt in de runtime.

Van zakelijke taal naar uitgevoerde query op het semantische model

Neem een gebruiker die vraagt: “Welke retailklanten veroorzaakten vorige maand onze margedaling?” De top-level orchestrator kiest alleen de toegestane Power BI-capability. De specialistische agent is eigenaar van het execution path achter die boundary.

1 · Vraag Businesstaal Retailklanten, margedaling, afgelopen maand.
2 · Context Selecteer semantische betekenis Relevante tabellen, measures, beschrijvingen, relaties en voorbeelden.
3 · Uitvoering DAX genereren + uitvoeren De semantic-model-engine voert de DAX-query uit en geeft het resultaat terug aan de Power BI Agent.
Vereenvoudigde specialistische flow
tables = list_available_tables()
relevant = select_relevant_tables(question, tables)

for table in relevant:
    load_governed_table_context(table)

dax = generate_dax(question, relevant_context)
result = execute_against_semantic_model(dax)

if result.has_error:
    enrich_context_and_retry(result.error)

return result

Stop niet het volledige semantische model in iedere modelcall

De specialist ziet eerst de geconfigureerde tabelcatalogus en beschrijvingen. Daarna laadt hij gedetailleerde informatie alleen voor tabellen die mogelijk nodig zijn. Die detailcontext kan veldbeschrijvingen, datatypes, relaties en kleine samples bevatten.

Wanneer governed metadata beschikbaar is in Ask Titan, wordt die eerst gebruikt. Als die ontbreekt, kan de implementatie terugvallen op live Power BI-modelmetadata. Zo blijft de runtime bruikbaar zonder curated context optioneel te maken in de architectuur.

01

Toon het geconfigureerde tabeloppervlak

Namen en beschrijvingen bieden een lichte kaart van het model.

02

Selecteer waarschijnlijk relevante tabellen

De specialist kiest waar voor deze vraag diepere context nodig is.

03

Laad gedetailleerde governed metadata

Beschrijvingen, schema, relaties en samples komen alleen in de agentcontext waar nodig.

04

Genereer DAX vanuit die subset

De generatiestap ontvangt geselecteerde context in plaats van het volledige semantic model.

Context-engineeringprincipe: behoud een grote governed context-universe, maar geef het model de kleinste high-signal subset die nodig is voor de volgende beslissing.

Genereer binnen een bekende semantische grens

De DAX-generatiestap ontvangt de gebruikersvraag plus geselecteerde schema's, samples en eerdere execution errors. Publieke voorbeelden hieronder zijn bewust herschreven en tonen geen private prompts van Ask Titan.

  • Verwijs alleen naar bekende modelvelden.
  • Gebruik bestaande modelrelaties in plaats van joins opnieuw op te bouwen.
  • Houd query-generation gescheiden van query-execution.
  • Neem executionfeedback mee wanneer correctie nodig is.
Publieke pseudocode · geen productiebroncode
context = select_context(
    semantic_model=model,
    tables=relevant_tables,
    include=[
        "descriptions",
        "schema",
        "relationships",
        "samples",
    ],
)

dax = generate_dax(
    question=question,
    context=context,
    execution_feedback=previous_errors,
)

Het model genereert de query. De semantic-model-engine berekent het antwoord

Ask Titan maakt verbinding met het geconfigureerde Power BI / Fabric semantic model en voert DAX uit via de semantic-model-interface. De LLM berekent marge niet zelf, aggregeert geen rijen en vervangt de measures van het model niet.

Specialistische agent

Gegenereerde DAX

Uitvoerbare query opgebouwd uit de geselecteerde context.

Interface

Semantic-modelverbinding

Geconfigureerde verbinding met het geselecteerde Power BI / Fabric-model.

Engine

Resultaatrijen

Power BI evalueert modelrelaties, measures en DAX-logica.

Microsoft documenteert DAX-queries als queries die data uit semantic models retourneren en XMLA als ondersteund connectivity-oppervlak voor semantic-model-tooling. Ask Titan gebruikt dezelfde scheiding tussen querygeneratie en semantic-model-executie.

Een mislukte DAX-query wordt context voor de volgende poging

Querygeneratie wordt niet behandeld als one-shot prediction. Als de semantic-model-engine een gegenereerde query afwijst, bewaart de Power BI Agent die execution error in tijdelijke context. Daarna kan extra tabelinformatie worden geïnspecteerd of een herziene query worden gegenereerd.

De loop is ontworpen met deterministische stopcontrols. We publiceren bewust geen interne retry thresholds en behandelen model persistence niet als safety boundary.

Power BI Agent DAX-uitvoerings- en correctielus De Power BI-agent genereert DAX en stuurt dit naar de engine van het semantische model. Een succesvolle uitvoering levert resultaatevidence op. Een mislukte query geeft uitvoeringsfeedback terug, die als context dient voor een herziene generatiepass. POWER BI-AGENT DAX genereren geselecteerde semantische context SEMANTISCH MODEL Uitvoeren in Power BI DAX valideren en evalueren UITVOERINGSFOUT Feedbackcontext context verrijken · query herzien SUCCES Resultaatevidence rijen teruggestuurd naar de agent DAX SUCCES FOUT HERZIENE CONTEXT · VOLGENDE PASS
Een uitvoeringsfout is niet alleen een mislukking. Het wordt gestructureerde feedback voor de Power BI Agent vóór de volgende query-generation-pass.

Waarom niet iedere businessvraag rechtstreeks naar SQL vertalen?

Als marge, omzet, yield of een andere businessmetric al governed is in een Power BI semantic model, creëert het opnieuw opbouwen van die definitie in gegenereerde SQL een tweede interpretatielaag. De Power BI-specialist bestaat zodat de orchestrator het execution model kan gebruiken dat deze semantiek al beheert.

VraagkenmerkPower BI semantic modelRaw SQL-pad
Governed measures bestaan alHergebruik de bestaande measure-logicaKan vereisen dat de metric opnieuw wordt geïmplementeerd
Relaties en hiërarchieën zijn belangrijkGebruik de bestaande semantische structuur van het modelAgent moet redeneren over joins en grouping
Gedetailleerde operationele records zijn primairKan passend zijn, afhankelijk van het modelontwerpVaak een natuurlijk execution path
Businessconsistentie met rapportenDeelt dezelfde governed semantische laagHangt af van hoe de SQL-laag wordt beheerd
Gebruik het execution model dat eigenaar is van de businesssemantiek die je nodig hebt. De top-level orchestrator hoeft niet iedere vraag door hetzelfde data-accesspatroon te dwingen.

Capabilitytoegang, brontoegang en semantische betekenis zijn afzonderlijke controls

Artikel 3 behandelde of de huidige identity de Power BI-capability überhaupt mag gebruiken. Artikel 4 begint na die beslissing. De geconfigureerde bronidentity bepaalt nog steeds waartoe de semantic-model-connection toegang heeft, terwijl het model zelf eigenaar is van measures, relaties en andere semantische logica.

Applicatie

Capability-autorisatie

Mag deze gebruiker de Power BI-specialist-capability aanroepen?

Bron

Power BI-autorisatie

Waartoe heeft de geconfigureerde connectie-identiteit daadwerkelijk toegang in Power BI / Fabric?

Semantiek

Modellogica

Welke measures, relaties, velden en definities bestaan in het geselecteerde semantische model?

Leid uit deze architectuur geen end-user RLS-passthrough af. Bronnative permissies blijven een afzonderlijk handhavingsvraagstuk en hangen af van het identity- en connection-model dat voor de deployment wordt gebruikt.

Leer de top-level agent niet hoe Power BI werkt

Plaats Power BI-semantiek achter een specialistische capability. Configureer de verbinding en bedrijfsbetekenis in de control plane. Selecteer tijdens runtime relevante context, genereer DAX, voer deze uit in de semantic-model-engine en behandel de geretourneerde rijen als evidence.

Houd businesslogica in het semantic model.
Beheer bedrijfsbetekenis in de control plane.
Gebruik businessdocumentatie om metadata-aanmaak te ondersteunen en review deze daarna.
Laad gedetailleerde context alleen voor relevante tabellen.
Genereer DAX vanuit geselecteerde governed context.
Voer DAX uit in de semantic-model-engine.
Gebruik execution errors als tijdelijke correctiecontext.
Houd capability- en bronautorisatie gescheiden.

Eén architectuur, drie verantwoordelijkheden

Control plane
Configureer betekenis
Specialistische agent
Redeneer en voer uit
Semantisch model
Eigen businesslogica

U zou het model niet in iedere prompt opnieuw uw business hoeven te leren. Configureer die context één keer en maak deze onderdeel van de governed AI-runtime.

Deel 5 · Conversatiestatus + LLM-context

Hoe onthoudt Ask Titan een gesprek zonder iedere eerdere tool-call en ieder resultaat naar het model te sturen? Deel 5 behandelt LangGraph-checkpoints, threadgebonden state, contextselectie en de verwerking van te grote tooloutputs.

Lees deel 5

Vragen over Power BI AI-agent, DAX en context engineering

Praktische antwoorden over semantic-model-context, Ask Titan Webadmin, DAX-generatie, Power BI-executie en governancegrenzen.

Wat is business context engineering in Ask Titan?

Het is Ask Titan's toepassing van het bredere context-engineering-patroon op enterprisesemantiek: administrators beheren bedrijfsspecifieke beschrijvingen en metadata rond een semantic model zodat de Power BI-specialist die betekenis tijdens runtime kan gebruiken in plaats van deze uit iedere prompt opnieuw af te leiden.

Hoe verschilt context engineering van prompt engineering?

Prompt engineering richt zich vooral op instructies. Context engineering is breder: het bepaalt welke instructies, tools, metadata, externe informatie, state en execution feedback voor een specifieke inference-stap aan het model worden aangeboden.

Welke Power BI-context kan de specialist-agent gebruiken?

De runtime kan geconfigureerde tabelbeschrijvingen plus gedetailleerde schemainformatie gebruiken, zoals veldbeschrijvingen, datatypes, relaties en samplewaarden. Als governed metadata niet beschikbaar is, kan de implementatie terugvallen op live semantic-modelmetadata.

Kan businessdocumentatie helpen om de metadatalaag te maken?

Ja. In het Ask Titan control plane kan businessdocumentatie helpen bij het genereren van tabel- en veldbeschrijvingen. Een administrator kan die voorstellen beoordelen en aanpassen voordat de resulterende metadata voor runtimegebruik wordt opgeslagen.

Stuurt Ask Titan voor iedere vraag het volledige semantische model naar de LLM?

Nee. De specialist werkt eerst vanuit een lichtgewicht geconfigureerd tabeloppervlak en laadt alleen gedetailleerde tabelcontext waar deze relevant is voor de huidige vraag. DAX-generatie kan vervolgens die geselecteerde subset gebruiken.

Waarom het Power BI-semantische model bevragen in plaats van altijd SQL te genereren?

Wanneer business measures, relaties en hiërarchieën al in het semantische model staan, hergebruikt querying van dat model de governed businesslogica in plaats van een tweede definitie opnieuw op te bouwen in gegenereerde SQL.

Hoe voert Ask Titan DAX uit?

De specialist genereert DAX en stuurt dit via de geconfigureerde Power BI/Fabric semantic-modelconnection. De semantic-model-engine evalueert de query en geeft resultaatrijen terug; de LLM berekent de metric niet zelf.

Wat gebeurt er als gegenereerde DAX faalt?

De execution error wordt als tijdelijke context voor de specialist opgeslagen. De agent kan extra modelinformatie inspecteren of een herziene query genereren, onderhevig aan deterministische stopcontrols.

Is Power BI capability-autorisatie hetzelfde als Power BI-data-autorisatie?

Nee. Ask Titan application policy bepaalt of de huidige identiteit de Power BI-capability mag aanroepen. De geconfigureerde Power BI-connection en source-native permissions bepalen afzonderlijk waartoe de semantic-model-connection toegang heeft.

Geeft deze architectuur automatisch de Power BI-RLS van iedere eindgebruiker door?

Zo'n claim mag niet worden afgeleid. Row-level en source-native autorisatie hangen af van het identity- en connectionmodel in een deployment en blijven gescheiden van Ask Titan's application-level capability-autorisatie.

Geef AI toegang tot governed bedrijfsbetekenis, niet alleen tabelnamen

Ask Titan combineert semantic-model-execution met een control plane voor connectiviteit, metadata en bedrijfsspecifieke context. Zo krijgen specialist agents een stabiele semantische grens zonder businesslogica in één gigantische prompt te stoppen.

Van configuratie naar antwoord

01Koppel het beheerde semantische model
02Beheer metadata en businessbetekenis
03Selecteer relevante context tijdens runtime
04Genereer en voer DAX uit tegen het semantische model

Technische referenties

De Ask Titan-implementatiedetails in dit artikel zijn vereenvoudigd vanuit de private productcode. Deze publieke referenties documenteren het bredere context-engineeringpatroon en de Power BI semantic-model/DAX-interfaces die in de architectuur worden gebruikt.