Crea un'app di modello semantico con GitHub Copilot

Usa questa ricetta per creare un'app analitica collegata a un modello semantico con la modalità GitHub agente Copilot. Copilot genera la struttura del modello dell'app dati, aggiunge un connettore per il modello semantico di Fabric, crea query DAX e visualizzazioni e valida l'app.

Il modello di app dati fornisce l'autenticazione di Fabric, indicazioni per la generazione DAX, componenti visivi e convalida del browser. Il connettore fornisce accesso semantico delegato ai modelli tramite il client Fabric Apps. Per altre informazioni, vedere Creare un'app connessa a un modello semantico.

In questa esercitazione, imparerai a:

  • Prepara GitHub Copilot per lo sviluppo guidato dagli agenti.
  • Chiedi a Copilot di generare l'impalcatura del modello di app dati.
  • Collega l'app a un modello semantico.
  • Crea un esploratore interattivo delle performance vendite.
  • Rivedi e convalida le modifiche generate.
  • Distribuisci l'app su Fabric.
  • Verifica il deployment e apri l'app.

Prerequisiti

  • Node.js 20 o versione successiva.
  • Codice di Visual Studio.
  • GitHub Copilot in Visual Studio Code con modalità agente disponibile.
  • Un account GitHub con accesso a GitHub Copilot.
  • Un account Microsoft con accesso a Fabric.
  • Area di lavoro Fabric in cui si dispone delle autorizzazioni Collaboratore, Membro o Amministratore.
  • Il carico di lavoro di Fabric Apps abilitato per il tuo inquilino.
  • Impostazione del tenant dell'API REST Execute Queries (Esegui query) dell'API REST del modello semantico abilitata.
  • Autorizzazioni di compilazione e lettura su un modello semantico ospitato in una capacità di Fabric o Power BI.
  • L'ID dello spazio di lavoro e l'ID dell'elemento per il modello semantico.

Annotazioni

Copilot chiede l'approvazione prima di eseguire i comandi terminali. Devi anche completare l'accesso interattivo del browser quando la CLI di Rayfin lo richiede.

Apri la modalità agente Copilot di GitHub

  1. Apri Visual Studio Code.
  2. Apri la cartella genitore dove vuoi che Copilot crei il progetto.
  3. Aprire Chat.
  4. Seleziona la modalità agente .
  5. Conferma che l'agente abbia accesso al terminale e allo spazio di lavoro.

Non aprire una cartella che contiene file non correlati che non vuoi che Copilot ispezioni o modifichi.

Creare la struttura dell'app di dati

Copia il seguente prompt in 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.

Sostituisci <workspace-name>, <workspace-id>, e <semantic-model-item-id> con i valori per il tuo workspace Fabric e il modello semantico. Approva i comandi man mano che Copilot li esegue e completa la procedura di accesso a Rayfin quando richiesto.

Chiedi a Copilot di creare la tua app

Descrivi il pubblico dell'app, le domande, le interazioni e le visualizzazioni. Il salesModel connettore identifica già il modello semantico.

Usa il seguente prompt come modello iniziale per uno strumento di esplorazione delle prestazioni di vendita. Adatta i requisiti aziendali ai campi disponibili nel tuo modello.

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.

Rivedi il piano di Copilot prima di modificare il progetto. Se il piano non corrisponde alle tue esigenze, correggilo in chat prima di approvare l'implementazione.

Esaminare le modifiche generate

Dopo che Copilot ha terminato, chiedigli di rivedere il suo lavoro:

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.

Esamina le differenze del controllo del codice sorgente in Visual Studio Code. Presta particolare attenzione a:

  • La salesModel configurazione del connettore, lo schema generato e le query DAX.
  • Configurazione del servizio in rayfin/rayfin.yml.
  • Nuove dipendenze in package.json.
  • Modifiche all'autenticazione o chiamate REST dirette che aggirano il connettore.
  • Segreti o credenziali che non dovresti commettere.

Distribuire e verificare la connessione del modello semantico

Chiedi a Copilot di installare l'app e verificarne la connessione:

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.

Apri l'app dal portale Fabric per testare query live sul modello semantico.

Convalidare l'app

Chiedi a Copilot di eseguire la validazione esistente del progetto:

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.

Nel portale Fabric, verifica i criteri di accettazione che hai dato a Copilot. Autenticazione dei test, filtri, evidenziazione incrociata, formattazione dei dati, stati vuoti, gestione degli errori e i risultati di ogni immagine visiva.

Distribuisci l'app finita

Dopo aver esaminato le modifiche e testato l'app, chiedi a Copilot di distribuirla:

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.

Lo stesso npx rayfin up comando aggiorna una distribuzione esistente quando continui a sviluppare l'app.

Continua a iterare con Copilot

Usa prompt focalizzati per i cambiamenti successivi. Includere il comportamento desiderato, gli utenti coinvolti, i vincoli e i passaggi di validazione.

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.

Mantieni ogni richiesta abbastanza piccola da poterla esaminare. Esegui un commit di uno stato funzionante prima di chiedere a Copilot di effettuare una modifica importante o potenzialmente distruttiva.

Risolvere i problemi del flusso di lavoro di Copilot

Copilot stampa solo comandi

Dì a Copilot di eseguire direttamente i comandi e di riportare i risultati. Conferma che la chat sia in modalità Agente e che l'accesso al terminale sia abilitato.

Un comando attende l'accesso

Completa la procedura di accesso nel browser. Poi dì a Copilot che il login è completato così può continuare.

Copilot modifica la cartella sbagliata

Ferma l'agente, apri in Visual Studio Code la cartella del progetto generato e avvia una nuova chat in quell'area di lavoro.

Il deployment ha successo ma le query del modello semantico falliscono

Chiedi a Copilot di controllare gli ID dell'area di lavoro e del modello del connettore, l'impostazione del tenant per l'API REST Semantic Model Execute Queries, le autorizzazioni Build e Read, il DAX generato, il risultato dell'errore del connettore e la console del browser. Non sostituire le query fallite con dati simulati.

Copilot propone --force

Richiedere a Copilot di mostrare prima le operazioni dello schema potenzialmente distruttive. Accetta --force solo quando capisci e approvi la possibile perdita di dati.

Per altri problemi, vedi Troubleshoot Fabric Apps.