Power BI

La importancia de un modelo de estrella en Power BI

El artículo de hoy va para mis amigos analistas de datos, desarrolladores de BI y DBAs centrados en entornos datawarehouse aunque espero que sea también interesante para todos los demás. Hoy vamos a hablar del modelado en Power BI, existen muchas maneras de hacerlo pero al final, si el modelo va a tomar cierta envergadura, todo lo que no sea un modelo puro de estrella va a terminar dando mal rendimiento.  

¿Qué es Power BI?

Empecemos por el principio, seguramente si eres analista de datos o desarrollador BI si sabes de lo que estoy hablando pero, permíteme un paréntesis, para que toda esa gente que está leyendo esto y no sabe muy bien de lo que hablamos parta desde el mismo punto. Al fin y al cabo este es un blog de DBAs.

Power BI es un software de Microsoft para inteligencia de negocio (de ahí su nombre) capaz de convertir datos de casi cualquier fuente en informes interactivos muy atractivos visualmente. Esta información que puede venir de cualquier fuente puede ser desde un fichero de texto plano separado hasta una potente base de datos relacional como SQL Server o las bases de datos SQL de Azure. 

Banner-Telegram

El flujo de trabajo de Power BI

A grandes rasgos, para empezar a trabajar en Power BI, debemos usar Power BI Desktop para conectar la información de las fuentes, modelarla en la propia aplicación y después, preparar los informes visuales.

Una vez generado el informe se puede almacenar en un archivo pbix para consumir con la aplicación Power BI Desktop en el equipo local o publicarla en Power BI Service que no es más que un SQL Server Reporting Service adaptado. Si habéis administrado este servicio anteriormente vais a ver que es prácticamente igual, solo cambia el origen de los reportes. 

¿Qué es un modelo de estrella?

No es la primera vez que hablamos en el blog sobre los modelos de estrella, ya le dedicamos este artículo completo hace unos meses. Para refrescar las ideas, el modelo de estrella es una forma de organizar nuestros datos en base a una tabla central de hechos relacionada con varias tablas de dimensiones. Tener toda la información relevante en una misma tabla central lo convierte en un modelo optimizado para consultas de agrupaciones, justo lo que buscamos cuando elaboramos informes de BI. En este sentido, no es raro encontrarnos con tablas desnormalizadas, primando el rendimiento máximo de este tipo de lecturas sobre el ahorro de espacio y el rendimiento de escrituras.

Por qué usar un modelo de estrella en Power BI

Como ya hemos dicho, la mejor manera de modelar los datos en Power BI es con un modelo de estrella. Esto es así porque todos y cada uno de los objetos visuales que van a terminar componiendo los reportes van a realizar consultas contra el modelo de datos almacenado en la aplicación. Esas consultas además no tienen nada que ver con las consultas de selección de información a las que estamos acostumbrados a ver en una base de datos relacional, son consultas mucho más pesadas de filtrado, agregación, resumen y ordenación de los datos del modelo. Gracias a usar un modelo en estrella, las tablas de dimensiones admitirán el filtrado y la agregación mientras que sobre la tabla de hechos recaerá el resumen. 

Es importante destacar que la tabla de hechos y las de dimensiones no se establecen como tal por ninguna propiedad que asigne el modelador de datos, simplemente son tablas normales que al aplicar las relaciones correctas terminan componiendo este modelo. Si seguimos a rajatabla los cánones y buenas prácticas, todas las relaciones serán de uno a muchos, siendo siempre uno en la tabla de dimensión y muchos en la de hechos.

Modelo-de-estrella_Power BI

Un diseño bien modelado tendrá este aspecto que vemos en la imagen, con una tabla central de hechos relacionada con tantas tablas de dimensiones como sean necesarias y sin mezclar en una misma tabla dimensiones con hechos (Si estás perdido en este punto y no sabes la diferencia entre una tabla de hechos y una tabla de relaciones pásate por nuestro artículo sobre el modelo de estrella para descubrirlo). 

Conceptos clave del modelo de estrella en Power BI

Ahora que ya conocemos la estructura ideal del modelo de estrella en Power BI vamos a tratar de entender los conceptos clave necesarios para una correcta implementación del mismo.

Medidas

Normalmente, cuando hablamos de un modelo de estrella, una medida es la columna de la tabla de hechos que almacena información que se va a resumir. Cuando llevamos esta implementación del modelo de estrella a Power BI, esta medida va a ser una fórmula escrita en DAX que permita resumir la información. Lo más normal será encontrarnos con fórmulas MAX, MIN o AVG para generar un valor que consumir. Estos valores nunca se almacenan en el modelo. En Power BI, existen además una serie de medidas automáticas llamadas medidas implícitas para consumirse en el informe visual llamadas medidas implícitas. 

Claves suplentes

Son el identificador único de las tablas de dimensiones, lo que en base de datos conocemos como clave primaria. Estas claves en Power BI tienen la particularidad de no poder ser compuestas, tienen que ser una única columna. Es común tener que generar una columna con los datos de otras concatenados para que actúe como clave suplente aunque la mejor idea es agregar un identificador único a la tabla ya que de esa manera las relaciones con la tabla de hechos serán más fluidas.

Tablas de hechos sin hechos

En ocasiones es posible encontrarnos con la necesidad de crear una tabla de hechos que realmente no almacene ningún hecho. Por ejemplo una tabla de log de logins donde almacenamos una fecha de inicio de sesión donde el hecho realmente será el conteo de filas correspondiente a los inicios de sesión de los usuarios. Otra opción para utilizar este tipo de tabla es la típica tabla que almacena relaciones con las claves de otras dos tablas, tabla que es necesaria muchas veces para tener el modelo normalizado. 

Dimensiones especiales en Power BI

Ya vimos en nuestro artículo sobre el modelo de estrella lo que eran las dimensiones, también llevamos todas estas líneas hablando sobre ellas. Sin embargo, en el mundo del análisis de datos y en concreto en Power BI existen unos tipos especiales de dimensiones que debemos conocer.

Dimensiones de copo de nieve

Las dimensiones de copo de nieve son conjuntos de tablas normalizadas que representan una única entidad de negocio o propiedad de un objeto. Por ejemplo, en la mayoría de ERP y software de gestión de almacén y ventas es común encontrar las propiedades categoría y subcategoría para los artículos. Esta idea, trasladada a un modelo normalizado, nos mostrará tres tablas, la de categorías, la de subcategorías y la de productos o artículos. 

Copo_de_nieve_Power BI

Si optamos por imitar el modelo de origen en Power BI en vez de desnormalizar el modelo y almacenar una única tabla de dimensiones no será lo más óptimo ya que deberemos cargar más tablas y más columnas clave. Además las fórmulas para definir las relaciones serán más largas y complejas complicando la propagación de filtros entre las tablas. Esto se traduce en un mayor número de campos en el panel para diseñar el informe visual, lo que también puede complicar la experiencia. Aunque parezca una buena idea a fin de tener el modelo normalizado y ahorrar espacio, a la larga, nos va a generar problemas debido a la limitación de Power BI de crear una jerarquía que abarque todas las tablas.

Dimensiones de variación lenta

Las dimensiones de variación lenta o dimensiones lentamente cambiantes (SCD por sus siglas en inglés) son aquellas que administran correctamente el cambio a lo largo del tiempo. Las SCD pueden admitir cambios de tipo 1, de tipo 2 o ambos a la vez.

El cambio tipo 1 es aquel que al producirse modifica todo el historial pasado, no nos interesa el histórico y solo queremos saber el valor actual. Sin embargo un cambio tipo 2 se almacena en un nuevo registro, sin sustituir el anterior. Por ejemplo, imaginad que tenemos una tienda de pulseras y nuestro principal cliente son hombres casados que compran regalos a sus esposas. Nuestra tabla de clientes es una dimensión, en esta tabla tenemos datos como el correo electrónico o el teléfono para enviarles promociones. Si estos datos cambian, no nos interesa almacenar el historial, con tener el dato actualizado es suficiente. Esto es un cambio tipo 1.

Sin embargo, hay otro campo de la dimensión clientes que es el estado civil y, en ese, si que necesitamos un historial. Saber cuántas veces pasan nuestros clientes de soltero a casado o casado a soltero y cuánto tiempo pasa de media entre cada etapa puede ser de gran ayuda para nuestros analistas de datos y sus modelos de predicción de ventas.

Podríamos tener otro tipo de dimensión cambiante como el precio de nuestros artículos de venta pero, si estos cambian rápidamente, lo mejor será almacenar esa información en la tabla de hechos.

Dimensiones realizadoras de roles

Existen dimensiones que, por sus características, pueden filtrar los hechos de maneras diferentes. Por ejemplo, imagina nuestro ejemplo anterior donde teníamos una tienda de pulseras, la dimensión fecha es capaz de realizar filtros por fecha de pedido, fecha de envío, fecha de cobro o incluso por fecha de alta de un cliente. 

En Power BI podríamos definir varias relaciones entre nuestra dimensión fecha y la tabla con los hechos, sin embargo, solo una de las relaciones puede estar activa. Tener una única relación activa implicará la propagación de filtros sobre la dimensión a la tabla de hechos. Técnicamente es posible usar relaciones inactivas pero para ello el desarrollador del informe tendrá que usar la función DAX USERELATIONSHIP. Esto puede resultar complicado tanto por el uso de código extra como por la cantidad de campos generados en el panel de construcción de reportes. 

Un enfoque común para superar estas limitaciones es, al modelar, crear varias tablas de dimensiones con la misma información duplicada de manera que cada una de ellas tenga una instancia realizadora de roles (filtrados). Es un precio menor a pagar ya que, por lo general ( y por definición), las tablas de dimensiones son relativamente pequeñas en comparación con los hechos.

Dimensiones no deseadas

Al trasladar datos de un modelo origen a nuestro modelo de Power BI es común encontrarnos con dimensiones no deseadas. Una dimensión no deseada puede ser útil cuando las dimensiones constan de pocos atributos y a su vez estos de pocos valores. En estos casos, puede ser una buena idea realizar un producto cartesiano de ambas dimensiones en una sola. Por ejemplo, volvamos a nuestra tienda, tenemos una dimensión que almacena un único atributo que es el estado de los pedidos y los valores que acepta son pedido recibido, pedido recibido y pedido completado. A su vez, tenemos otra dimensión con otro único atributo que es el estado de envío del pedido y admite los valores no enviado, enviado y entregado. En este caso, podríamos combinar ambas dimensiones del origen en una sola en nuestro modelo de estrella.

Dimensiones degeneradas

Una dimensión degenerada en el modelado de Power BI se refiere a un atributo de datos que funciona como una dimensión, pero que en realidad se almacena en la tabla de hechos, en lugar de en su propia tabla de dimensión separada. Es una excepción a la regla de oro que hemos comentado al principio de no mezclar hechos y dimensiones en una sola tabla. En otras palabras, es una clave de dimensión que se almacena en una tabla de hechos y no se une a una tabla de dimensiones correspondiente porque todos sus atributos ya se han colocado en otras dimensiones. Esto elimina la necesidad de unir otra tabla de dimensiones.

Conclusión

¿Aún sigues leyendo a estas alturas? ¿Después de casi 2000 palabras? Si es así y no has saltado directamente a este apartado gracias. Como habrás podido ver el modelado en power BI pasa por un modelo de estrella estricto para obtener un buen rendimiento. Sin embargo, esto de la ciencia de datos tiene mucho de arte también y son los analistas, científicos y arquitectos de datos los que van a modelar los datos a medida para el mejor rendimiento de sus informes. De la teoría a la práctica ya sabes que hay un mundo y eso solo te lo da la experiencia y haber hecho muchas pruebas. Como hemos visto en el artículo, sobre todo en esta última parte, hay excepciones incluso para el primer mandamiento del modelador de no mezclar hechos con dimensiones. Espero que hayas aprendido los fundamentos básicos de esta ciencia.

Si tenéis alguna duda o sugerencia, podéis dejarla en Twitter, por mail o dejarnos un mensaje en los comentarios. Y recuerda que también tenemos un grupo de Telegram y un canal de YouTube a los que te puede unir. ¡Hasta la próxima!

Publicado por Roberto Carrancio en Power BI, Rendimiento, 3 comentarios

Modelo estrella en profundidad

Los modelos de datos son una forma de representar la información que se almacena en una base de datos. Existen diferentes tipos de modelos de datos, cada uno con sus ventajas e inconvenientes, según el tipo de datos que se quiera gestionar y el objetivo que se persigue. En este artículo vamos a hablar de los modelos de datos en estrella, un tipo de modelo muy utilizado en el ámbito del Business Intelligence y el análisis de datos. Veremos qué son, cómo se construyen y qué beneficios aportan frente a un modelo relacional, que es el más común en las bases de datos relacionales.

¿Qué es un modelo de datos en estrella?

Un modelo de datos en estrella es una forma de organizar los datos en una base de datos que se basa en dos tipos de tablas: una tabla central o tabla de hechos, y varias tablas periféricas o tablas de dimensiones.

Tabla de hechos

La tabla de hechos contiene los datos numéricos o medidas que se quieren analizar, como por ejemplo las ventas, los ingresos, los costes, etc. Cada fila de esta tabla representa un hecho o evento que ha ocurrido en el negocio.

Tablas de dimensiones

Las tablas de dimensiones contienen los atributos o características que describen los hechos, como por ejemplo el cliente, el producto, la fecha, la ubicación, etc. Cada tabla de dimensiones tiene una clave primaria que se relaciona con una clave foránea en la tabla de hechos.

La estructura resultante tiene forma de estrella, donde la tabla de hechos está en el centro y las tablas de dimensiones la rodean. Por ejemplo, si queremos analizar las ventas por cliente, producto y fecha, tendríamos una tabla de hechos con las columnas venta_id, cliente_id, producto_id, fecha_id y cantidad_vendida, y tres tablas de dimensiones con las columnas cliente_id, nombre_cliente, producto_id, nombre_producto y fecha_id, año, mes y día.

Ventajas de un modelo de datos en estrella

Un modelo de datos en estrella tiene varias ventajas frente a un modelo relacional, especialmente para el análisis de datos. Algunas de estas ventajas son:

  • Simplifica las consultas: al tener menos tablas y menos relaciones entre ellas, las consultas son más sencillas y rápidas de escribir y ejecutar. Además, al tener los atributos en las tablas de dimensiones, se evita tener que hacer muchos joins para obtener la información deseada.
  • Facilita el análisis multidimensional: al tener los datos organizados por dimensiones, se puede realizar fácilmente el análisis desde diferentes perspectivas o ángulos. Por ejemplo, se puede analizar las ventas por cliente, por producto o por fecha, o combinar varias dimensiones para obtener resultados más detallados.
  • Mejora el rendimiento: al tener menos tablas y menos columnas, se reduce el espacio ocupado por los datos y se optimiza el acceso a los mismos. Además, al tener los datos numéricos en la tabla de hechos, se pueden aplicar técnicas como la agregación o el precálculo para mejorar la velocidad de las consultas.
  • Favorece la comprensión: al tener los datos más estructurados y organizados por temas o conceptos, se facilita la comprensión y el uso de los mismos por parte de los usuarios finales o analistas.

Modelo de Estrella vs Modelo Relacional

Un modelo relacional es el tipo de modelo más habitual en las bases de datos relacionales. Se basa en normalizar los datos para evitar la redundancia y la inconsistencia. Para ello, se dividen los datos en varias tablas relacionadas entre sí mediante claves primarias y foráneas.

Un modelo relacional tiene como objetivo principal garantizar la integridad y la calidad de los datos. Sin embargo, también tiene algunos inconvenientes para el análisis de datos. Algunos de estos inconvenientes son:

  • Complejidad en las consultas: La estructura relacional, ideal para entornos OLTP tienen muchas tablas y muchas relaciones entre ellas. Esto hace las consultas de análisis de datos más complejas y lentas de escribir y ejecutar. Además, al tener los atributos repartidos por varias tablas, se requieren muchos joins para obtener la información deseada.
  • Dificulta el análisis multidimensional: al tener los datos dispersos por varias tablas, se dificulta el análisis desde diferentes perspectivas o ángulos. Tenemos que pensar que este modelo está pensado para procesos específicos eficientes y no para un análisis global. Por ejemplo, para analizar las ventas por cliente, producto y fecha, se tendría que acceder a varias tablas y combinarlas mediante joins.
  • Rendimiento: al tener muchas tablas y muchas columnas, se incrementa el espacio ocupado por los datos y se ralentiza el acceso a los mismos cuando se quieren analizar todos juntos. Además, al tener los datos numéricos repartidos por varias tablas, se dificulta la aplicación de técnicas como la agregación o el precálculo para mejorar la velocidad de las consultas.
  • Comprensión: al tener los datos estructurados y organizados por temas o conceptos, se complica la visualización y el uso de los mismos de manera centralizada por parte de los usuarios finales o analistas.

Conclusión

Los modelos de datos en estrella son una forma de organizar los datos en una base de datos que se adapta muy bien al ámbito del Business Intelligence y el análisis de datos. Al tener una estructura simple y clara, con una tabla de hechos y varias tablas de dimensiones, se facilita la realización de consultas, el análisis multidimensional, el rendimiento y la comprensión de los datos.
Los modelos de datos en estrella son diferentes de los modelos relacionales, que son los más comunes en las bases de datos relacionales. Estos últimos, se basan en normalizar los datos para evitar la redundancia y la inconsistencia, pero también presentan algunos inconvenientes para el análisis de datos, como la complejidad de las consultas, la dificultad del análisis multidimensional, la reducción del rendimiento y la complicación de la comprensión de los datos.

Esperamos que te haya gustado este artículo y que te haya servido para aprender algo nuevo. Si tienes alguna duda o comentario, no dudes en dejarnos un mensaje en Twitter, por mail o dejarnos en los comentarios. Y recuerda que también tenemos un grupo de LinkedIn al que te puedes unir. 

Publicado por Roberto Carrancio en Power BI, 1 comentario

Consejos para un buen modelo de datos

¿Te gustaría mejorar el rendimiento, la seguridad y la calidad de tus bases de datos en SQL Server? ¿Quieres conocer las mejores prácticas para un buen modelo de datos? Entonces este artículo es para ti. Vamos a explicar, cómo diseñar y optimizar tus modelos de datos, siguiendo las recomendaciones de los expertos. ¡Sigue leyendo!

¿Qué es el modelado de datos?

El modelado de datos es el proceso de definir la estructura, las relaciones y las restricciones de los datos que se almacenan en una base de datos. El modelado de datos tiene como objetivo crear un diseño lógico y físico que sea coherente, eficiente y fácil de mantener.

¿Por qué es importante?

El modelado de datos influye directamente en el rendimiento, la seguridad y la calidad de los datos por lo que es muy importante para nosotros. Un buen modelo de datos nos va a permitir, por ejemplo, reducir el espacio ocupado por los datos y mejorar el tiempo de respuesta de las consultas. No solo eso, a menor espacio mayor velocidad en las copias de seguridad y en los planes de mantenimiento, aspecto de vital importancia en entornos grandes y con pocas ventanas de mantenimiento. Además nos evitará la redundancia, la inconsistencia y la corrupción de los datos y facilitará el acceso, la manipulación y el análisis. ¿Necesitas más motivos? Porque esto no es todo, cumplir estas buenas prácticas no solo garantiza integridad, confidencialidad y disponibilidad de los datos, también va a simplificar el desarrollo, la documentación y la evolución de la base de datos.

Tipos de definición de modelos de datos

Antes de entrar en los modelos de datos más comunes, tenemos que ver la forma en la que los definimos. Atendiendo a esto, existen diferentes tipos según el nivel de abstracción y el grado de detalle que presentan. Los más comunes son:

  • Conceptual: representa los conceptos y las entidades del dominio del problema, así como sus atributos y relaciones. Este modelo es independiente de nuestro sistema gestor de base de datos (SGBD) y se suele expresar mediante diagramas entidad-relación (ER).
  • Lógico: especifica las tablas, las columnas, las claves y las restricciones que se van a implementar en la base de datos. Es un modelo dependiente del SGBD y se suele expresar mediante diagramas relacionales o notación SQL.
  • Físico: describe los detalles técnicos de cómo se almacenan y organizan los datos en el disco. Incluye aspectos como el tamaño, el tipo de dato, el índice, la partición o el formato de almacenamiento. Es un modelo específico del SGBD y se suele expresar mediante scripts SQL o herramientas gráficas.

Tipos de modelos de datos

Como hemos comentado antes, existen varios tipos de modelos de datos según las necesidades de cada sistema y no todos están pensados para bases de datos relacionales de las que nos gustan a nosotros.

Modelo relacional

El modelo relacional es el más usado y se basa en el concepto de tabla con filas y columnas que todos conocemos. Cada fila representa un registro o una entidad, y cada columna representa un atributo o una propiedad. Las tablas se relacionan entre sí mediante claves primarias y foráneas, que son valores únicos que identifican a cada registro. El modelo relacional permite realizar consultas complejas y garantiza la integridad y la consistencia de los datos. Este modelo es el usado por las bases de datos relacionales y se aconseja mantener las tablas por lo menos en la tercera forma normal.

Modelo dimensional

Es un modelo alternativo al relacional, que se usa principalmente para fines analíticos y de inteligencia de negocios. El modelo dimensional se basa en el concepto de cubo, que es una estructura multidimensional que contiene medidas y dimensiones. Las medidas son los valores numéricos que se quieren analizar, como ventas, ingresos o costes. Las dimensiones son los atributos que describen las medidas, como tiempo, producto o cliente. El modelo dimensional permite realizar análisis rápidos y flexibles sobre grandes volúmenes de datos sin embargo no es lo ideal para transacciones que buscan el detalle de un registro. Igual que para el modelo relacional la recomendación es llegar, al menos, a 3FN en estos casos es común quedarse en la segunda forma normal. Este tipo de modelo está quedando en desuso en favor de los siguientes que vamos a ver.

Modelo estrella 

Es una evolución del modelo dimensional, que se caracteriza por tener una tabla central llamada tabla de hechos, que contiene las medidas, y varias tablas periféricas llamadas dimensiones, que contienen los atributos. El modelo estrella tiene una estructura simple y eficiente, que facilita el acceso y la navegación por los datos de manera rápida cuando se desea hacer agregaciones y operaciones de consulta masiva. Por lo general encontraremos este modelo en Datamarts y DataWarehouses donde los datos provenientes de otros orígenes ya han sido clasificados y tratados mediante ETLs y esperan a ser usados en reportes de BI.

Modelo copo de nieve 

Pueden existir ocasiones en las que un modelo estrella se nos quede corto. En estas ocasiones, necesitaremos juntar varios modelos de estrellas mediante relaciones más o menos normalizadas, es decir, dividimos el modelo de estrella en subtablas para evitar la redundancia de datos. Esto se llama modelo copo de nieve y tiene una estructura más compleja y detallada, que reduce el espacio ocupado por los datos pero aumenta el número de tablas y las consultas necesarias.

Pasos para realizar un buen modelado de datos en SQL Server?

Ahora que ya sabemos que tipos de modelo existen y cómo definirlos vamos a ver los pasos necesarios para diseñar un buen modelo de datos:

  1. Analizar los requisitos del negocio y del usuario, identificando las entidades, los atributos y las relaciones que se necesitan representar en la base de datos.
  2. Diseñar el modelo conceptual, utilizando diagramas ER o herramientas CASE (Computer-Aided Software Engineering).
  3. Normalizar el modelo conceptual, aplicando las reglas de normalización para eliminar las anomalías y las dependencias funcionales.
  4. Diseñar el modelo lógico, traduciendo las entidades y relaciones del modelo conceptual en tablas y columnas del modelo de datos. Definir las claves primarias, las claves foráneas y las restricciones de integridad referencial si las hubiera.
  5. Diseñar el modelo físico, ajustando el modelo lógico a las características de nuestro SGBD. Elegir los tipos de datos adecuados, crear los índices necesarios, definir las políticas de seguridad y establecer las estrategias de particionamiento, copia de seguridad y recuperación.
  6. Implementar el modelo físico, generando los scripts SQL o utilizando herramientas gráficas como SQL Server Management Studio (SSMS) o SQL Server Data Tools (SSDT).
  7. Validar y verificar el modelo físico, comprobando que cumple con los requisitos del negocio y del usuario, que no contiene errores ni inconsistencias y que ofrece un buen rendimiento.

Conclusión

El modelado de datos es una tarea fundamental para crear bases de datos eficientes, seguras y de calidad en SQL Server. Siguiendo las buenas prácticas que te hemos mostrado en este artículo, podrás diseñar e implementar modelos de datos que satisfagan las necesidades de tu negocio y tus usuarios. 

Esperamos que te haya gustado este artículo y que lo pongas en práctica.  Si tienes alguna duda o comentario, no dudes en dejarnos un mensaje en Twitter, por mail o dejarnos en los comentarios. Y recuerda que también tenemos un grupo de LinkedIn al que te puedes unir. 

Publicado por Roberto Carrancio en Power BI, Rendimiento, SQL Server, 1 comentario