Crea una aplicación de modelos semánticos con GitHub Copilot

Utiliza esta receta para crear una aplicación analítica conectada a un modelo semántico con el modo agente de Copilot de GitHub. Copilot estructura la plantilla de la app de datos, añade un conector de modelo semántico Fabric, crea consultas y visualizaciones DAX, y valida la aplicación.

La plantilla de la aplicación de datos proporciona autenticación de Fabric, guía para generar DAX, componentes visuales y validación del navegador. El conector proporciona acceso semántico delegado al modelo a través del cliente Fabric Apps. Para obtener más información, consulte Creación de una aplicación conectada a un modelo semántico.

En este tutorial, usted hará lo siguiente:

  • Prepara GitHub Copilot para el desarrollo dirigido por agentes.
  • Pide a Copilot que genere la estructura base de la plantilla de aplicación de datos.
  • Conecta la app a un modelo semántico.
  • Crea un explorador interactivo de rendimiento de ventas.
  • Revisa y valida los cambios generados.
  • Despliega la app en Fabric.
  • Verifica el despliegue y abre la app.

Prerequisites

  • Node.js 20 o posterior.
  • Código de Visual Studio.
  • GitHub Copilot en Visual Studio Code con modo agente disponible.
  • Una cuenta de GitHub con acceso a GitHub Copilot.
  • Un cuenta Microsoft con acceso a Fabric.
  • Un área de trabajo de Fabric en la que tiene permisos de colaborador, miembro o administrador.
  • La carga de trabajo de Fabric Apps habilitada para tu inquilino.
  • La configuración del inquilino de la API REST Ejecutar consultas del modelo semántico está habilitada.
  • Permisos de creación y lectura en un modelo semántico alojado en una capacidad de Fabric o Power BI.
  • El ID del espacio de trabajo y el ID de elemento para el modelo semántico.

Nota:

Copilot pide aprobación antes de ejecutar comandos terminales. También debes completar el inicio de sesión interactivo del navegador cuando la CLI de Rayfin lo solicite.

Abrir el modo agente de GitHub Copilot

  1. Inicie Visual Studio Code.
  2. Abre la carpeta principal donde quieres que Copilot cree el proyecto.
  3. Abra Chat.
  4. Seleccione el modo Agente .
  5. Confirma que el agente tiene acceso al terminal y al espacio de trabajo.

No abras una carpeta que contenga archivos no relacionados que no quieras que Copilot inspeccione o modifique.

Andamiaje de la aplicación de datos

Copia el siguiente prompt en 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.

Sustituye <workspace-name>, <workspace-id>, y <semantic-model-item-id> por valores para tu espacio de trabajo de Fabric y el modelo semántico. Aprueba los comandos mientras Copilot los ejecuta y completa el flujo de inicio de sesión de Rayfin cuando se lo solicite.

Pide a Copilot que cree tu aplicación

Describe el público de la app, preguntas, interacciones y visualizaciones. El salesModel conector ya identifica el modelo semántico.

Utiliza el siguiente prompt como punto de partida para un explorador del rendimiento de ventas. Adapta los requisitos empresariales a los campos disponibles en tu 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.

Revisa el plan de Copilot antes de editar el proyecto. Si el plan no cumple con tus requisitos, corrígalo en el chat antes de aprobar la implementación.

Revisión de los cambios generados

Cuando Copilot termine, pídele que revise su trabajo:

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.

Inspecciona el diferencial de control de versiones en Visual Studio Code. Presta especial atención a lo siguiente:

  • La salesModel configuración del conector, el esquema generado y las consultas DAX.
  • Configuración de servicios en rayfin/rayfin.yml.
  • Nuevas dependencias en package.json.
  • Cambios de autenticación o llamadas REST directas que evitan el conector.
  • Secretos o credenciales que no debes comprometer.

Despliega y verifica la conexión del modelo semántico

Pregunta a Copilot que despliegue la app y verifique su conexión:

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.

Abre la app desde el portal de Fabric para probar consultas semánticas en vivo sobre modelos.

Validación de la aplicación

Pídele a Copilot que realice la validación ya existente del proyecto:

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.

En el portal Fabric, verifica los criterios de aceptación que diste a Copilot. Autenticación de pruebas, filtros, resaltado cruzado, formato de datos, estados vacíos, manejo de errores y los resultados de cada imagen.

Despliega la aplicación terminada

Después de revisar los cambios y probar la app, pide a Copilot que la despliegue:

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.

El mismo npx rayfin up comando actualiza un despliegue existente cuando sigues desarrollando la aplicación.

Sigue iterando con Copilot

Utiliza indicaciones específicas para cambios posteriores. Incluye el comportamiento deseado, los usuarios afectados, las restricciones y los pasos de validación.

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.

Mantén cada solicitud lo suficientemente pequeña como para poder revisarla. Compromete un estado de funcionamiento antes de pedirle a Copilot que haga un cambio grande o potencialmente destructivo.

Solucionar el flujo de trabajo de Copilot

Copilot solo imprime comandos

Dile a Copilot que ejecute los comandos él mismo y reporte los resultados. Confirma que el chat está en modo agente y que el acceso al terminal está habilitado.

Un comando espera a iniciar sesión

Completa el flujo de inicio de sesión del navegador. Luego dile a Copilot que el inicio de sesión está completo para que pueda continuar.

Copilot edita la carpeta equivocada

Detener el agente, abrir la carpeta del proyecto estructurado en Visual Studio Code y iniciar un nuevo chat desde ese espacio de trabajo.

El despliegue tiene éxito pero las consultas semánticas del modelo fallan

Pide a Copilot que compruebe los identificadores del área de trabajo y del modelo del conector, la configuración del inquilino de la API REST Semantic Model Execute Queries, tus permisos de compilación y lectura, el DAX generado, el resultado de error del conector y la consola del navegador. No sustituyas las consultas fallidas por datos simulados.

Copilot propone --force

Exigir que Copilot muestre primero las operaciones del esquema potencialmente destructivas. Acepta --force solo cuando entiendas y apruebes la posible pérdida de datos.

Para otros problemas, consulta Solucionar problemas en aplicaciones de Fabric.