Mejora de la actualización y la función de un modelo

Completado

Antes de explorar aún más cómo mejorar una actualización y una función de un modelo, debe conocer cómo almacena Power BI los datos. De forma similar a los archivos .hyper de Tableau, Power BI almacena los datos como una base de datos en columnas.

Captura de pantalla de una base de datos basada en filas y de una base de datos en columnas de Power BI.

Nota

Una base de datos en columnas almacena cada columna como un archivo independiente, en lugar de almacenar los datos fila a fila (como en las bases de datos basadas en filas).

Almacenar los datos como una base de datos en columnas es ideal para tablas largas donde la recuperación de filas para una columna es mucho más rápida. Los datos de una columna siempre son del mismo tipo, como una cadena o un entero. Dado que todas las entradas de un mismo tipo están agrupadas, se pueden comprimir de forma más eficaz, lo que mejora el rendimiento al analizar grandes volúmenes de datos.

Nota

Power BI también intenta almacenar estas columnas de forma óptima agrupándolas, por ejemplo, por elementos. Una vez agrupadas las columnas, se crea un diccionario de valores distintos asignados.

Mejora de un modelo

A la hora de mejorar el rendimiento de un modelo, debe tener en cuenta los siguientes factores:

  • Cardinalidad

  • Cambio de valores en blanco por valores

  • Eliminación de campos redundantes e innecesarios

  • Esquemas de estrella

  • Fecha y hora automáticas

  • Enteros frente a cadenas

Eliminación de campos de cardinalidad alta

La cardinalidad hace referencia al número de valores únicos que contiene una columna o un campo de base de datos. Los valores de cardinalidad alta suelen ser números de identificación, direcciones de correo electrónico o nombres de usuario.

Captura de pantalla de un ejemplo de una columna de una tabla de datos con cardinalidad alta es una tabla USERS con una columna denominada USER_ID.

Lo primero que debería hacer es quitar los campos con cardinalidad alta. Si tiene un identificador único para cada fila, quite ese campo. Cuanto mayor sea la cardinalidad, más costoso será el almacenamiento; los valores distintos implican un costo elevado.

Un problema común es un campo de fecha y hora donde la combinación de la fecha y la hora aumenta la cardinalidad del campo. Para resolver este problema, considere la posibilidad de dividir el campo en campos de fecha y hora independientes.

Cambio de los valores en blanco por valores

Es posible que, al escribir medidas, encuentre escenarios en los que no se puede devolver un valor significativo. En estos casos, podría verse tentado a devolver un valor en su lugar, como cero. Por razones de rendimiento, debería pensárselo bien antes.

Durante la mayoría de los cálculos, se omiten los valores en blanco, pero no los valores cero. Convertir los valores en blanco en valores cero obligará al cálculo a evaluar más filas y a devolver un gran conjunto de resultados de consulta, lo que suele resultar en una representación lenta del informe. En otras palabras, convertir los valores en blanco en valores cero aumenta el costo del cálculo.

Eliminación de campos redundantes e innecesarios

La eliminación de campos redundantes e innecesarios es importante porque intenta limitar el ancho de las tablas, lo que mejora el rendimiento de las actualizaciones. Lo normal es que pueda quitar los campos redundantes porque ha creado un esquema de estrella y no necesita que el mismo campo se muestre varias veces. En el caso de los campos innecesarios, debe identificar los campos que se usarán o no durante la importación. Es mejor comenzar poco a poco y crecer gradualmente, en lugar de insertar todos los datos en un conjunto de datos de forma masiva.

Creación de modelos de alto rendimiento con esquemas de estrella

El diseño de esquemas de estrella es importante para desarrollar modelos de Power BI eficaces y de alto rendimiento. Cada informe de Power BI crea una consulta que se envía al modelo de Power BI. Estas consultas se usan para filtrar, agrupar y resumir los datos del modelo. Un modelo bien diseñado proporciona tablas para filtrar, agrupar y resumir.

Nota

Los esquemas en estrella son tipos de esquemas de modelado de datos con una tabla de hechos en el centro y varias tablas de dimensiones asociadas alrededor de la tabla de hechos. Los esquemas de estrella están optimizados para consultar grandes conjuntos de datos.

Este modelo bien diseñado cumple perfectamente los requisitos de los esquemas de estrella:

  • Las tablas de dimensiones admiten el filtrado y la agrupación.

  • La tabla de hechos admite el resumen.

Los esquemas en estrella impiden el cálculo y la administración de incorporaciones adicionales, a diferencia de un esquema de copo de nieve, pero ofrecen la ventaja de los datos comprimidos que una tabla plana no puede proporcionar.

Desactivación de la fecha y hora automáticas

Fecha y hora automáticas es una opción de carga de datos en Power BI Desktop que admite informes de inteligencia de tiempo útiles basados en las columnas de fecha que se cargan en un modelo. Al activar esta opción, Power BI Desktop crea tablas de fecha y hora ocultas detrás de todos los campos de fecha del conjunto de datos.

Con todas estas tablas de fecha y hora ocultas y estos campos de fecha, el tamaño del modelo aumenta considerablemente. La reducción del tamaño del modelo optimiza su rendimiento, especialmente con grandes conjuntos de datos. Lo ideal sería crear una tabla de fechas y crear vínculos a ella. También puede agregar otras dimensionalidades de fecha con su propia tabla de fechas para proporcionar más funcionalidades que la tabla oculta de fecha y hora automáticas.

Para desactivar la opción Fecha y hora automáticas en Power BI, use el siguiente procedimiento.

  1. Seleccione Archivo > Opciones y configuración.

  2. Seleccione Opciones.

    Captura de pantalla de las opciones y la configuración que se usan para desactivar la opción

  3. Seleccione la opción Carga de datos en las secciones Global o Archivo actual.

  4. Desactive al casilla Fecha y hora automáticas para archivos nuevos en la sección Inteligencia de tiempo.

Uso de enteros en lugar de cadenas

Los enteros son mejores que las cadenas por dos motivos:

  • Hacer coincidir un entero con otro entero es más rápido que hacer coincidir una cadena con otra.

  • Las cadenas deben almacenarse de tal manera que primero se debe encontrar su índice y, después, su valor.

Se hace referencia a las cadenas dos veces, mientras que a los enteros solo se hace referencia una vez.

Para más información, vea Descripción de un esquema de estrella e importancia para Power BI.