Compártelo:

Todo el mundo está entusiasmado con Power BI Copilot, y la versión preliminar recientemente anunciada de poder usar Copilot para hacer preguntas sobre todos los datos de su modelo semántico en lugar de solo lo que se muestra en un informe es un gran paso adelante. Sin embargo, por muy sorprendentes que sean los datos utilizados en segundo plano, la calidad de los resultados que los usuarios obtienen de esta nueva versión preliminar de Copilot depende de una serie de factores que tú, como desarrollador, controlas. La forma de modelar los datos es muy importante y, como se menciona en el blog del anuncio de Microsoft, también lo es el esquema lingüístico que se añadió originalmente para la función «Preguntas y respuestas» predecesora de Copilot, en los informes de Power BI. Copilot devuelve resultados mucho mejores que Preguntas y Respuestas, pero la combinación de Copilot y la información adicional que proporciona el esquema lingüístico de Preguntas y Respuestas (información que Copilot no podría conocer a menos que tú se lo dijeras) hace que Copilot sea aún más potente. Además, ya no es necesario editar un archivo YAML para usar esta funcionalidad, ya que la mayoría de las características del esquema lingüístico ahora están disponibles para editar en el cuadro de diálogo Configuración de Preguntas y Respuestas de Power BI Desktop.

En esta entrada de blog, mostraré algunos ejemplos de cómo agregar al esquema lingüístico de un modelo mejora los resultados de la nueva versión preliminar de Power BI Copilot al consultar el modelo semántico.

Tabla de contenido

Modelo semántico

Digamos que tienes una granja donde cultivas fruta. Los clientes visitan la granja para comprar fruta y la fruta es recogida para estos clientes por tus empleados. Los datos de ventas se almacenan en un modelo semántico de Power BI similar al siguiente:

La tabla Pedidos es una tabla de hechos con una fila para cada línea de pedido. La columna Id. de pedido identifica el pedido al que está vinculado cada elemento de línea, la columna Importe contiene el valor de ventas y la columna Unidades contiene el número de frutas entregadas para cada línea. La dimensión Empleado proporciona el nombre del empleado que recogió la fruta; la dimensión Cliente da el nombre del cliente que pidió la fruta; la dimensión Producto da el nombre de la fruta recolectada. Los productos se asocian a los grupos de productos a través de una relación de varios a varios.

Estos son los datos de las tablas de dimensiones:

Empleado

Id. EmpleadoNombre Empleado
1Juan
2María
3Carlos

Cliente

Id. ClienteNombre Cliente
1Alice
2Bob
3Charlie

Producto

Id. ProductoNombre ProductoGrupo Producto
1ManzanaFrutas
2NaranjaFrutas
3PlátanoFrutas

Pedidos

Id. PedidoId. EmpleadoId. ClienteId. ProductoUnidadesImporte
11111020.00
2222515.00
33332030.00

Al configurar el esquema lingüístico para este modelo, puedes mejorar la precisión de las respuestas de Power BI Copilot. Por ejemplo, podrías especificar que «Nombre Empleado» se refiere a los empleados que recogen la fruta, «Nombre Cliente» a los clientes que realizan los pedidos y «Nombre Producto» a los diferentes tipos de frutas disponibles.

Este esquema lingüístico mejorado permitirá a Copilot entender mejor las consultas realizadas por los usuarios, proporcionando respuestas más precisas y útiles.

Para obtener los mejores resultados de Copilot, ten en cuenta lo siguiente:

  1. Modelado de Datos: Los datos se modelan como un esquema de estrella clásico.
  2. Nomenclatura: Los nombres de las tablas y columnas están en inglés legible por humanos, sin abreviaturas y con espacios entre las palabras. Hablé sobre mis opiniones sobre las convenciones de nomenclatura de Power BI en [esta entrada de blog].
  3. Visibilidad: Se han ocultado todas las tablas y columnas que no deben mostrarse en un informe.
  4. Medidas Explícitas: Las columnas de medida de la tabla de hechos se han ocultado y se han creado tres medidas explícitas: Importe del pedido, Unidades de pedido y Recuento de pedidos (que es un recuento distinto en la columna Id. de pedido).

Sinónimos

Si bien Copilot funciona bien en este modelo, echemos un vistazo a una pregunta simple en la que no devuelve el resultado esperado:

Mostrar el número de pedidos por empleado

Esto puede deberse a que Copilot necesita sinónimos para entender mejor las consultas. Por ejemplo, es posible que Copilot no entienda que «número de pedidos» se refiere al «Recuento de pedidos». Para solucionar esto, puedes agregar sinónimos en el cuadro de diálogo de Configuración de preguntas y respuestas en Power BI Desktop.

Ejemplo de Sinónimos

  • Para «Empleado», puedes agregar sinónimos como «Recolector» o «Trabajador».
  • Para «Pedidos», puedes agregar sinónimos como «Compras» o «Transacciones».

Mejora del Esquema Lingüístico

Además de agregar sinónimos, mejorar el esquema lingüístico puede ayudar a Copilot a proporcionar respuestas más precisas. Aquí hay algunos ejemplos de cómo puedes hacerlo:

  1. Especificar Roles: Define claramente los roles de las columnas en el modelo. Por ejemplo, especifica que «Nombre Empleado» se refiere a los empleados que recogen la fruta.
  2. Descripciones: Agrega descripciones detalladas a las columnas para que Copilot entienda mejor el contexto.

Ejemplo de Consulta

Después de mejorar el esquema lingüístico y agregar sinónimos, intenta realizar la siguiente consulta:

«Mostrar el recuento de pedidos por recolector»

Con estos ajustes, Copilot debería ser capaz de entender mejor la consulta y proporcionar una respuesta precisa, mostrando el número de pedidos realizados por cada empleado.

Estos pasos te ayudarán a sacar el máximo provecho de Power BI Copilot y a mejorar la calidad de los resultados que obtienes al hacer consultas sobre tu modelo semántico.

El mensaje devuelve un objeto visual, pero si se examina más de cerca, no es el resultado que desea. Muestra el recuento de filas en la tabla Pedidos, que es el número de elementos de línea, no un recuento de pedidos.

Para obtener el resultado correcto, debes indicar a Copilot que la medida «Recuento de pedidos» devuelve el número de pedidos definiendo un sinónimo. Puedes hacerlo en el cuadro de diálogo de configuración de Preguntas y respuestas de Power BI Desktop en la pestaña Sinónimos:

Si se establece «número de pedidos» como sinónimo de la medida «Recuento de pedidos», ahora la consulta devolverá el siguiente objeto visual con los resultados que deseas:

Verbos

El siguiente aspecto a observar es el uso de verbos en las consultas. Considera la consulta:

«¿Quién recogió limones?»

Sabes que en nuestra granja son los empleados quienes recogen la fruta, pero no hay nada en el modelo que le indique eso a Copilot. Como resultado, la consulta anterior puede hacer que Copilot diga que no sabe qué significa «recogió» en este contexto.

Para solucionar esto, en la pestaña Relaciones del cuadro de diálogo Configuración de preguntas y respuestas, puedes definir una relación de verbo:

Esta relación indica a Copilot que «Nombres de empleados» selecciona «Nombres de productos» con la tabla Pedidos que conecta las dos columnas.

Con esta relación en su lugar, Copilot responderá correctamente que Gabi era el único empleado que recogía limones.

Sustantivos

Los empleados también se refieren al cliente Chris como «Sr. Webb», pero ese nombre no se almacena en ninguna parte del modelo. Como resultado, la consulta:

«¿Cuánto dinero ganamos con el señor Webb?»

da como resultado una respuesta incorrecta o incompleta:

Sin embargo, con una relación sustantiva configurada para decirle a Copilot que «Sr. Webb» es un alias del nombre de cliente «Chris», puedes obtener el resultado correcto. Para configurar esta relación, ve al cuadro de diálogo Configuración de preguntas y respuestas en Power BI Desktop y define la relación sustantiva correspondiente:

Esta relación indica a Copilot que «Sr. Webb» es una forma de referirse al cliente «Chris».

Con esta relación en su lugar, la consulta devolverá el resultado esperado.

Sustantivos dinámicos

Copilot hace un buen trabajo con la relación de muchos a muchos entre el producto y el grupo de productos sin ninguna optimización. Por ejemplo, la consulta:

«Mostrar todos los cítricos y sus cantidades de pedido»

Devuelve el resultado correcto:

Sin embargo, si deseas mostrar los productos individuales en lugar del grupo de productos «cítricos», puedes hacerlo configurando una relación nominal dinámica. Para configurar esta relación, ve al cuadro de diálogo Configuración de preguntas y respuestas en Power BI Desktop y define la relación nominal dinámica:

Esta relación indica a Copilot que los «Nombres de grupos de productos» definen tipos de «nombres de productos» con la tabla que vincula productos a grupos de productos.

Con esta configuración, la consulta ahora devolverá el resultado deseado mostrando los productos individuales.

Compártelo:

Deja un comentario