Erstellen Sie eine semantische Modell-App mit GitHub Copilot

Verwenden Sie dieses Rezept, um eine analytische App zu erstellen, die mit einem semantischen Modell im GitHub-Copilot-Agent-Modus verbunden ist. Copilot erstellt das Grundgerüst für die Vorlage der Daten-App, fügt einen Fabric-Connector für semantische Modelle hinzu, erstellt DAX-Abfragen und Visualisierungen und überprüft die App.

Die Daten-App-Vorlage bietet Fabric-Authentifizierung, DAX-Generierungsanleitung, visuelle Komponenten und Browservalidierung. Der Connector bietet delegierten semantischen Modellzugriff über den Fabric Apps Client. Weitere Informationen finden Sie unter Erstellen einer App, die mit einem semantischen Modell verbunden ist.

In diesem Tutorial lernen Sie:

  • Bereiten Sie GitHub Copilot auf agentengesteuerte Entwicklung vor.
  • Bitten Sie Copilot, das Gerüst für die Daten-App-Vorlage zu erstellen.
  • Verbinde die App mit einem semantischen Modell.
  • Bauen Sie einen interaktiven Sales-Performance Explorer.
  • Überprüfen und validieren Sie die generierten Änderungen.
  • Deploye die App auf Fabric.
  • Verifiziere die Bereitstellung und öffne die App.

Voraussetzungen

  • Node.js 20 oder später.
  • Visual Studio Code.
  • GitHub Copilot in Visual Studio Code mit verfügbarem Agentenmodus.
  • Ein GitHub Konto mit Zugriff auf GitHub Copilot.
  • Ein Microsoft-Konto mit Zugriff auf Fabric.
  • Ein Fabric Arbeitsbereich, in dem Sie über Berechtigungen "Mitwirkender", "Mitglied" oder "Administrator" verfügen.
  • Die Fabric Apps Workload ist für Ihren Tenant aktiviert.
  • Die Mandanteneinstellung für die REST-API „Abfragen ausführen“ des semantischen Modells ist aktiviert.
  • Build- und Read-Berechtigungen auf einem semantischen Modell, das auf Fabric- oder Power BI-Kapazität gehostet wird.
  • Die Arbeitsbereichs-ID und die Item-ID für das semantische Modell.

Hinweis

Copilot bittet um Genehmigung, bevor er Terminalbefehle ausführt. Sie müssen außerdem die interaktive Anmeldung des Browsers durchführen, wenn die Rayfin-CLI dies anfordert.

Öffnen Sie den GitHub Copilot-Agent-Modus

  1. Öffnen Sie Visual Studio Code.
  2. Öffne den Elternordner, in dem du möchtest, dass Copilot das Projekt erstellt.
  3. Öffnen Sie "Chat".
  4. Wählen Sie den Agent-Modus aus.
  5. Bestätigen Sie, dass der Agent Zugriff auf das Terminal und den Arbeitsbereich hat.

Öffne keinen Ordner mit nicht zusammenhängenden Dateien, die du nicht möchtest, dass Copilot inspiziert oder ändert.

Grundgerüst für die Daten-App erstellen

Kopieren Sie den folgenden Prompt in den 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.

Ersetzen Sie <workspace-name>, <workspace-id>, und <semantic-model-item-id> durch Werte für Ihren Fabric-Arbeitsbereich und Ihr semantisches Modell. Genehmigen Sie die Befehle, während Copilot sie ausführt, und melden Sie sich bei Rayfin an, wenn Sie dazu aufgefordert werden.

Bitte Copilot, deine App zu erstellen

Beschreiben Sie die Zielgruppe der App, Fragen, Interaktionen und Visualisierungen. Der salesModel Konnektor identifiziert bereits das semantische Modell.

Verwenden Sie den folgenden Prompt als Ausgangsrezept für einen Sales Performance Explorer. Passe die Geschäftsanforderungen an die in deinem Modell verfügbaren Felder an.

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.

Überprüfen Sie den Plan von Copilot, bevor das Projekt überarbeitet wird. Wenn der Plan nicht zu deinen Anforderungen passt, korrigiere ihn im Chat, bevor du die Umsetzung genehmigst.

Überprüfen der generierten Änderungen

Nachdem Copilot fertig ist, bitte ihn, seine Arbeit zu überprüfen:

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.

Inspizieren Sie das Quellcode-Kontroll-Diff in Visual Studio Code. Achte besonders auf:

  • Die salesModel Connectorkonfiguration, das generierte Schema und DAX-Abfragen.
  • Service-Konfiguration in rayfin/rayfin.yml.
  • Neue Abhängigkeiten in package.json.
  • Änderungen an der Authentifizierung oder direkte REST-Aufrufe, die den Konnektor umgehen.
  • Geheimnisse oder Anmeldedaten, die du nicht committen darfst.

Setzen Sie die semantische Modellverbindung ein und überprüfen Sie sie

Copilot fragen, die App auszurollen und ihre Verbindung zu überprüfen:

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.

Öffnen Sie die App über das Fabric-Portal, um Live-Abfragen für semantische Modelle zu testen.

Überprüfen der App

Copilot fragen, die bestehende Validierung des Projekts durchzuführen:

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.

Im Fabric-Portal überprüfen Sie die Annahmekriterien, die Sie Copilot gegeben haben. Authentifizierung, Filter, Cross-Highlighting, Datenformatierung, Leerzustände, Fehlerbehandlung und die Ergebnisse jeder einzelnen Visualisierung testen.

Deploye die fertige App

Nachdem Sie die Änderungen überprüft und die App getestet haben, bitten Sie Copilot, sie auszuführen:

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.

Derselbe npx rayfin up Befehl aktualisiert eine bestehende Bereitstellung, wenn du die App weiterentwickelst.

Setzen Sie die Iteration mit Copilot fort

Verwenden Sie fokussierte Prompts für spätere Änderungen. Fügen Sie das gewünschte Verhalten, betroffene Nutzer, Einschränkungen und Validierungsschritte hinzu.

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.

Halte jede Anfrage klein genug, um sie zu überprüfen. Vermittle einen Arbeitszustand, bevor du Copilot bittest, eine große oder potenziell zerstörerische Änderung vorzunehmen.

Fehlerbehebung des Copilot-Arbeitsablaufs

Copilot druckt nur Befehle aus

Sag Copilot, er soll die Befehle selbst ausführen und die Ergebnisse melden. Bestätigen Sie, dass der Chat im Agentenmodus ist und der Terminalzugang aktiviert ist.

Ein Befehl wartet auf die Anmeldung

Schließen Sie den Anmeldeprozess des Browsers ab. Dann sagen Sie Copilot, dass die Anmeldung abgeschlossen ist, damit es fortgesetzt werden kann.

Copilot bearbeitet den falschen Ordner

Stoppe den Agenten, öffne den Scaffolded-Projektordner in Visual Studio Code und starte einen neuen Chat von diesem Arbeitsbereich aus.

Die Bereitstellung gelingt, aber semantische Modellabfragen scheitern

Bitte Copilot, die Arbeitsbereichs- und Modell-IDs des Connectors, die Mandanteneinstellung für die Semantic Model Execute Queries-REST-API, deine Build- und Leseberechtigungen, den generierten DAX-Code, die Fehlermeldung des Connectors und die Browserkonsole zu prüfen. Ersetzen Sie fehlgeschlagene Abfragen nicht durch Mock-Daten.

Copilot schlägt vor, --force

Verlangen Sie, dass Copilot zuerst die potenziell zerstörerischen Schema-Operationen zeigt. Akzeptieren Sie --force nur, wenn Sie den möglichen Datenverlust verstehen und zustimmen.

Weitere Probleme finden Sie unter Troubleshooting Fabric Apps.