Crie um aplicativo de modelo semântico com o GitHub Copilot

Use esta receita para criar um aplicativo analítico conectado a um modelo semântico com o modo agente do Copilot do GitHub. O Copilot gera o modelo de aplicativo de dados, adiciona um conector do modelo semântico do Fabric, cria consultas DAX e visualizações, e valida o aplicativo.

O modelo do aplicativo de dados fornece autenticação Fabric, orientação para geração de DAX, componentes visuais e validação do navegador. O conector fornece acesso semântico delegado ao modelo através do cliente Fabric Apps. Para obter mais informações, consulte Criar um aplicativo conectado a um modelo semântico.

Neste tutorial, você:

  • Prepare o GitHub Copilot para desenvolvimento orientado por agentes.
  • Peça ao Copilot para gerar a estrutura do modelo de aplicativo de dados.
  • Conecte o app a um modelo semântico.
  • Construa um explorador interativo de desempenho de vendas.
  • Revise e valide as mudanças geradas.
  • Implante o aplicativo no Fabric.
  • Verifique a implantação e abra o app.

Pré-requisitos

  • Node.js 20 ou posterior.
  • Código do Visual Studio.
  • GitHub Copilot no Visual Studio Code com modo agente disponível.
  • Uma conta GitHub com acesso a GitHub Copilot.
  • Um conta Microsoft com acesso a Fabric.
  • Um workspace Fabric em que você tem permissões de Colaborador, Membro ou Administrador.
  • A carga de trabalho do Fabric Apps ativada para seu locatário.
  • A configuração de locatário da API REST de Execução de Modelo Semântico está habilitada.
  • Permissões de construção e leitura em um modelo semântico hospedado na capacidade do Fabric ou do Power BI.
  • O ID do workspace e o ID do item para o modelo semântico.

Note

O Copilot pede aprovação antes de executar comandos de terminal. Você também deve fazer login interativamente no navegador quando a CLI da Rayfin solicitar.

Abra o modo agente do Copilot do GitHub

  1. Abra o Visual Studio Code.
  2. Abra a pasta pai onde você quer que o Copilot crie o projeto.
  3. Abra Chat.
  4. Selecione o modo de agente.
  5. Confirme que o agente tem acesso ao terminal e ao espaço de trabalho.

Não abra uma pasta que contenha arquivos não relacionados que você não quer que o Copilot inspecione ou modifique.

Estruture a aplicação de dados

Copie o seguinte prompt para o 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.

Substitua <workspace-name>, <workspace-id>, e <semantic-model-item-id> por valores para seu espaço de trabalho Fabric e modelo semântico. Aprove os comandos enquanto o Copilot os executa e complete o fluxo de login do Rayfin quando solicitado.

Peça ao Copilot para criar seu aplicativo

Descreva o público, perguntas, interações e visualizações do app. O salesModel conector já identifica o modelo semântico.

Use o próximo prompt como receita inicial para um explorador de desempenho de vendas. Adapte os requisitos do negócio aos campos disponíveis no seu modelo.

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.

Revise o plano do Copilot antes de editar o projeto. Se o plano não corresponder aos seus requisitos, corrija-o no chat antes de aprovar a implementação.

Examinar as alterações geradas

Depois que o Copilot terminar, peça para ele revisar seu trabalho:

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.

Inspecione o diferencial de controle de versão no Visual Studio Code. Preste atenção especial a:

  • A salesModel configuração do conector, o esquema gerado e as consultas DAX.
  • Configuração de serviço em rayfin/rayfin.yml.
  • Novas dependências em package.json.
  • Alterações de autenticação ou chamadas REST diretas que contornam o conector.
  • Segredos ou credenciais que você não deve cometer.

Implante e verifique a conexão do modelo semântico

Peça ao Copilot para implantar o aplicativo e verificar a conexão do aplicativo:

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.

Abra o aplicativo pelo portal do Fabric para testar consultas semânticas ao vivo de modelos.

Validar o aplicativo

Peça ao Copilot para executar a validação existente do projeto:

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.

No portal Fabric, verifique os critérios de aceitação que você deu ao Copilot. Teste a autenticação, os filtros, o realce cruzado, a formatação de dados, os estados vazios, o tratamento de erros e os resultados de cada visual.

Implante o aplicativo finalizado

Depois de revisar as mudanças e testar o app, peça ao Copilot para implantá-lo:

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.

O mesmo npx rayfin up comando atualiza uma implantação existente quando você continua desenvolvendo o app.

Continue iterando com o Copilot

Use prompts específicos para alterações posteriores. Inclua o comportamento desejado, usuários afetados, restrições e passos de validação.

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.

Mantenha cada pedido pequeno o suficiente para ser analisado. Faça um commit de um estado funcional antes de pedir ao Copilot para fazer uma alteração grande ou potencialmente destrutiva.

Solucionar o fluxo de trabalho do Copilot

O Copilot só imprime comandos

Diga ao Copilot para executar os comandos por conta própria e relatar os resultados. Confirme que o Chat está no modo Agente e que o acesso ao terminal está habilitado.

Um comando aguarda o login

Complete o fluxo de login do navegador. Depois, avise o Copilot que o login está concluído para que possa continuar.

Copilot edita a pasta errada

Pare o agente, abra a pasta do projeto estruturado no Visual Studio Code e inicie um novo Chat a partir desse workspace.

A implantação é bem-sucedida, mas as consultas semânticas do modelo falham

Peça ao Copilot para verificar o espaço de trabalho e as IDs do modelo do conector, a configuração de locatário da API REST de Execução de Consultas do Modelo Semântico, suas permissões de Build e Read, o DAX gerado, o resultado do erro do conector e o console do navegador. Não substitua consultas falhadas por dados simulados.

Copilot propõe --force

Exigir que o Copilot mostre primeiro as operações de esquema potencialmente destrutivas. Aceite --force apenas quando você compreender e aceitar a possível perda de dados.

Para outros problemas, veja Solução de Problemas em Aplicativos Fabric.