Skapa en app för semantisk modell med GitHub Copilot

Använd detta recept för att skapa en analytisk app kopplad till en semantisk modell med GitHub Copilot-agent-läge. Copilot bygger upp dataappsmallen, lägger till en Fabric semantisk modellkoppling, skapar DAX-frågor och visualiseringar samt validerar appen.

Dataappsmallen tillhandahåller Fabric-autentisering, vägledning för DAX-generering, visuella komponenter och webbläsarvalidering. Kopplingen ger delegerad semantisk modellåtkomst via Fabric Apps-klienten. Mer information finns i Skapa en app som är ansluten till en semantisk modell.

I den här handledningen kommer du att:

  • Förbered GitHub Copilot för agentdriven utveckling.
  • Be Copilot att generera mallen för dataapp.
  • Koppla appen till en semantisk modell.
  • Bygg en interaktiv säljresultatutforskare.
  • Gå igenom och validera de genererade ändringarna.
  • Distribuera appen till Fabric.
  • Verifiera driftsättningen och öppna appen.

Förutsättningar

  • Node.js 20 eller senare.
  • Visual Studio Code.
  • GitHub Copilot i Visual Studio Code med agentläge tillgängligt.
  • Ett GitHub konto med åtkomst till GitHub Copilot.
  • En Microsoft-konto med åtkomst till Fabric.
  • En Fabric arbetsyta där du har behörighet som deltagare, medlem eller administratör.
  • Fabric Apps-arbetsbelastningen är aktiverad för din hyresgäst.
  • Tenantinställningen för REST API:t Execute Queries i Semantic Model är aktiverad.
  • Bygg- och läsbehörigheter på en semantisk modell som är värd på Fabric- eller Power BI-kapacitet.
  • Workspace-ID och objekt-ID för den semantiska modellen.

Anmärkning

Copilot ber om godkännande innan den kör terminalkommandon. Du måste också genomföra interaktiv inloggning i webbläsaren när Rayfin CLI begär det.

Öppna GitHub Copilot-agentläge

  1. Öppna Visual Studio Code.
  2. Öppna föräldramappen där du vill att Copilot ska skapa projektet.
  3. Öppna Chatt.
  4. Välj Agentläge .
  5. Bekräfta att agenten har tillgång till terminalen och arbetsområdet.

Öppna inte en mapp som innehåller orelaterade filer som du inte vill att Copilot ska granska eller ändra.

Skapa grundstrukturen för dataappen

Kopiera följande prompt till Copilot Chat:

Set up a new Fabric data app for me, end to end.

Create the project in a folder named sales-insights. Before changing code, read any
copilot-instructions.md files and agent guidance included in the scaffolded project.

Do the work yourself instead of only printing instructions:
1. Run `npm create @microsoft/rayfin@latest -- "sales-insights" --template dataapp --workspace <workspace-name>`.
2. In the scaffolded project, run `npx rayfin connector add --type fabric-semanticmodel --workspace-id <workspace-id> --item-id <semantic-model-item-id> --name salesModel --operations executeQuery`.
3. Run the version-matched npm install command printed by the connector command.
4. Open and inspect the scaffolded project. Explain the data app template's DAX query,
   visualization, data grid, theme, and browser-validation patterns.
5. Configure the template to use ConnectorsRayfinClient, the generated salesModel
   schema, and the fabricSemanticModel() runtime. Don't retain or add a direct
   Execute Queries REST API client.
6. If authentication is required, run `npx rayfin login` and pause while I complete
   sign-in.
7. Run the existing build and report any errors.
8. Summarize the scaffolded app and wait for my semantic model requirements.

Ask before making a destructive change or using a force option.

Ersätt <workspace-name>, <workspace-id>, och <semantic-model-item-id> med värden för din Fabric-arbetsyta och semantiska modell. Godkänn kommandona när Copilot kör dem, och slutför Rayfin-inloggningsflödet när du blir tillfrågad.

Fråga Copilot att bygga din app

Beskriv appens målgrupp, frågor, interaktioner och visualiseringar. Kontakten salesModel identifierar redan den semantiska modellen.

Använd följande prompt som ett startrecept för en försäljningsprestationsutforskare. Anpassa affärskraven till fält som finns tillgängliga i din modell.

Use the existing salesModel connector to build a sales performance explorer for
sales managers.

Requirements:
- Inspect the generated connector schema and semantic model metadata before editing.
  Use actual table, measure, and column names instead of guessing them.
- Show KPI callouts for the model's revenue, order volume, and margin measures when
  those measures are available.
- Add a time-series chart for sales performance, a bar chart that compares a useful
  business category, and a detailed data grid.
- Add date and category filters, and use the template's cross-highlighting behavior.
- Use the template's DAX generation patterns and visual primitives. Minimize the
  number of DAX queries and don't duplicate queries for the same data.
- Submit DAX with client.connectors.salesModel.executeQuery(), check the returned
  status, and handle success and error results.
- Apply the semantic model's format strings consistently to cards, charts, tooltips,
  and the data grid.
- Include loading, empty, and error states.
- Don't add mock data, embed credentials, or implement a separate authentication flow.
- Preserve the template's Fabric authentication and the semantic model connector.
- Don't add dependencies unless they're necessary.

Before editing, inspect the relevant files and give me a short implementation plan.
Ask me to clarify any model fields that are ambiguous. Then make the changes, run
the existing build, and use the template's browser validation workflow to check the
layout at desktop and mobile sizes. Explain any errors you fix.

Gå igenom Copilot:s plan innan projektet redigeras. Om planen inte motsvarar dina krav, rätta den i chatten innan du godkänner genomförandet.

Granska de genererade ändringarna

När Copilot är klar, be den granska sitt arbete:

Review the changes you made against every requirement in my previous prompt.

Check for:
- DAX queries that reference fields that aren't in the semantic model.
- Duplicate or unnecessary DAX queries.
- Hard-coded sample data, credentials, access tokens, or a second sign-in flow.
- Formatting that ignores the semantic model's format strings.
- Charts, filters, cross-highlighting, or data grid interactions that don't work.
- Missing loading, empty, or error states.
- TypeScript or build errors.

Fix confirmed issues, run the existing build and browser validation, and summarize
the final behavior.

Granska diffen för källkodshanteringen i Visual Studio Code. Var särskilt uppmärksam på:

  • Anslutningskonfigurationen salesModel , genererat schema och DAX-frågor.
  • Tjänstekonfiguration i rayfin/rayfin.yml.
  • Nya beroenden i package.json.
  • Autentiseringsändringar eller direkta REST-anrop som kringgår kontakten.
  • Hemligheter eller meriter som du inte får begå.

Distribuera och verifiera kopplingen till den semantiska modellen

Fråga Copilot att installera appen och verifiera dess anslutning:

Deploy the app with `npx rayfin up`, then run `npx rayfin up status` and confirm
that the deployment is healthy. Give me the Fabric portal link from the command
output.

Don't add mock data if a semantic model query fails. Check the workspace and model
IDs in the connector configuration, the Semantic Model Execute Queries REST API
tenant setting, my Build and Read permissions, the DAX query, the connector error
result, and the browser console. Report the exact failure and the corrective action.

Öppna appen från Fabric-portalen för att testa levande semantiska modellfrågor.

Verifiera appen

Fråga Copilot att köra projektets befintliga validering:

Validate the app without adding new tools.

1. Run the existing build and type-check commands from package.json.
2. Run the template's browser validation at desktop and mobile sizes.
3. Check for clipped charts, unreadable labels, empty visuals, and console errors.
4. Tell me which semantic model queries and user interactions I must verify in the
    Fabric portal.
5. Fix confirmed build, type, or layout errors, and rerun the failed check.

I Fabric-portalen kontrollerar du acceptanskriterierna som du gav Copilot. Testa autentisering, filter, korsframhävning, dataformattering, tomma tillstånd, felhantering och resultaten för varje visuellt objekt.

Distribuera den färdiga appen

Efter att du har granskat ändringarna och testat appen, be Copilot att installera den:

Deploy the reviewed app to Fabric.

1. Show me the current git diff and summarize what will be deployed.
2. Run `npx rayfin up`.
3. Run `npx rayfin up status`.
4. Confirm that the deployment is healthy.
5. Give me the hosted app URL and Fabric portal link from the command output.

Stop and explain the issue if deployment or verification fails.

Samma npx rayfin up kommando uppdaterar en befintlig distribution när du fortsätter utveckla appen.

Fortsätt iterera med Copilot

Använd fokuserade uppmaningar för senare ändringar. Inkludera önskat beteende, påverkade användare, begränsningar och valideringssteg.

Add a product detail view to the sales performance explorer.

Open the view when a user selects a product in the data grid. Use fields and measures
that exist in the semantic model, reuse existing query results where practical, and
preserve filters and formatting. Run the existing build and browser validation, then
list the interactions and DAX results I should verify in the Fabric portal.

Håll varje begäran tillräckligt liten för att granska. Checka in ett fungerande tillstånd innan du ber Copilot att göra en stor eller potentiellt destruktiv ändring.

Felsök arbetsflödet i Copilot

Copilot skriver bara ut kommandon

Be Copilot att köra kommandona själv och rapportera resultaten. Bekräfta att chatten är i agentläge och att terminalåtkomst är aktiverad.

Ett kommando väntar på inloggning

Slutför webbläsarens inloggningsflöde. Säg sedan till Copilot att inloggningen är klar så att det kan fortsätta.

Copilot redigerar fel mapp

Stoppa agenten, öppna mappen för det byggda projektet i Visual Studio Code och starta en ny chatt från den arbetsytan.

Utrullningen lyckas men semantiska modellfrågor misslyckas

Be Copilot att kontrollera anslutningens arbetsyta och modell-ID:n, klientorganisationsinställningen för REST API:t Semantic Model Execute Queries, dina behörigheter för Build och Read, den genererade DAX-koden, anslutningens felresultat och webbläsarkonsolen. Byt inte ut misslyckade frågor med mock-data.

Copilot föreslår--force

Kräv att Copilot först visar de potentiellt destruktiva schemaoperationerna. Acceptera --force endast när du förstår och godkänner den möjliga dataförlusten.

För andra problem, se Troubleshoot Fabric Apps.