Revisión del rendimiento de medidas, relaciones y objetos visuales

Completado

Si tu modelo semántico tiene varias tablas, relaciones complejas, cálculos enrevesados, múltiples elementos visuales o datos redundantes, existe la posibilidad de que el rendimiento de los informes sea bajo. El bajo rendimiento de un informe genera una experiencia de usuario negativa.

Para optimizar el rendimiento, primero debes identificar de dónde proviene el problema; es decir, descubrir qué elementos de tu informe y modelo semántico están causando los problemas de rendimiento. Después, puedes tomar medidas para resolver esos problemas y, por tanto, mejorar el rendimiento.

Identificación de cuellos de botella de rendimiento en informes

Para lograr un rendimiento óptimo en tus informes, necesitas crear un modelo semántico eficiente que tenga consultas y medidas de ejecución rápida. Si tienes una buena base, puedes mejorar aún más el modelo mediante el análisis de los planes de consulta y las dependencias; luego, puedes realizar cambios para optimizar todavía más el rendimiento.

Debes revisar las medidas y consultas en tu modelo semántico para asegurarte de que estás utilizando la forma más eficiente de obtener los resultados que desea. El punto de partida debe ser la identificación de los cuellos de botella que existen en el código. Cuando identificas la consulta más lenta en el modelo semántico, puedes centrarte primero en el mayor cuello de botella y establecer una lista de prioridades para resolver los demás problemas.

Analizar el rendimiento

Puedes utilizar Analizador de rendimiento en Power BI Desktop para ayudarte a descubrir cómo funciona cada uno de los elementos de tu informe cuando los usuarios interactúan con ellos. Por ejemplo, puedes determinar cuánto tiempo tarda un determinado objeto visual en actualizarse cuando lo inicia una interacción del usuario. El Analizador de rendimiento te ayudará a identificar los elementos que contribuyen a los problemas de rendimiento, algo que puede ser útil durante la resolución de problemas.

Antes de ejecutar el Analizador de rendimiento, para obtener los resultados más precisos en el análisis (la prueba), asegúrate de empezar con una caché vacía, tanto para los objetos visuales como para el motor de datos.

  • Caché visual: cuando cargas un objeto visual, no puedes borrar esa caché sin cerrar Power BI Desktop y abrirlo de nuevo. Para evitar cualquier tipo de almacenamiento en caché, debes iniciar el análisis con una caché de objetos visuales vacía.

    Para asegurarte de tener una caché de objetos visuales vacía, agrega una página en blanco a tu archivo de Power BI Desktop (.pbix) y, luego, con esa página seleccionada, guarda y cierra el archivo. Abre de nuevo el archivo de Power BI Desktop (.pbix) que desees analizar. Se abrirá en la página en blanco.

  • Caché del motor de datos: cuando se ejecuta una consulta, los resultados se almacenan en caché, por lo que los resultados del análisis serán engañosos. Tendrás que borrar la caché de datos antes de volver a ejecutar el objeto visual.

    Para borrar la memoria caché de datos, puedes reiniciar Power BI Desktop o conectar DAX Studio al modelo semántico y, luego, llamar a Borrar caché.

Cuando hayas borrado las memorias caché y hayas abierto el archivo Power BI Desktop en la página en blanco, ve a la pestaña Ver y selecciona la opción Analizador de rendimiento.

Para comenzar el proceso de análisis, selecciona Iniciar grabación, selecciona la página del informe que quieras analizar e interactúa con los elementos del informe que quieras medir. Verás que los resultados de las interacciones se muestran en el panel Analizador de rendimiento mientras trabajas. Cuando termines, selecciona el botón Detener.

Para obtener información más detallada, consulta Uso del Analizador de rendimiento para examinar el rendimiento de los elementos de los informes.

Revisar resultados

Puedes revisar los resultados de la prueba de rendimiento en el panel Analizador de rendimiento. Para revisar las tareas en orden de duración, de mayor a menor, haz clic con el botón derecho en el icono Ordenar, situado junto al encabezado de columna Duración (ms), y selecciona Tiempo total en orden Descendente.

La información de registro de cada uno de los objetos visuales muestra cuánto tiempo se ha tardado (duración) en completar las siguientes categorías de tareas.

  • Consulta DAX: el tiempo que ha tardado el objeto visual en enviar la consulta, junto con el tiempo que ha tardado Analysis Services en devolver los resultados.

  • Presentación visual: el tiempo que ha tardado el objeto visual en representarse en la pantalla, incluido el tiempo necesario para la recuperación de imágenes web o la geocodificación.

  • Otros: el tiempo que ha tardado el objeto visual en preparar las consultas, esperar a que se completen otros objetos visuales o realizar otras tareas de procesamiento en segundo plano. Si esta categoría muestra una duración larga, la única manera real de reducirla consiste en optimizar las consultas DAX para otros objetos visuales o reducir el número de objetos visuales en el informe.

Los resultados de la prueba de análisis te ayudan a comprender el comportamiento de tu modelo semántico y a identificar los elementos que necesitas optimizar. Puedes comparar la duración de cada elemento del informe e identificar los que tienen una duración larga. Debes centrarte en esos elementos e investigar por qué tardan tanto en cargarse en la página del informe.

Para analizar las consultas con más detalle, puedes usar DAX Studio, una herramienta gratuita y de código abierto proporcionada por otro servicio.

Resolución de problemas y optimización del rendimiento

Los resultados del análisis identificarán áreas de mejora y oportunidades de optimización del rendimiento. Quizá descubras que necesitas realizar mejoras en los objetos visuales, la consulta DAX u otros elementos del modelo semántico. La información siguiente proporciona instrucciones sobre lo que se debe buscar y los cambios que se pueden realizar.

Objetos visuales

Si identificas objetos visuales como el cuello de botella que genera un rendimiento deficiente, deberías encontrar una manera de mejorar el rendimiento con un impacto mínimo en la experiencia del usuario.

Ten en cuenta la cantidad de objetos visuales en la página del informe; cuantos menos objetos visuales haya, mejor será el rendimiento. Pregúntate si un objeto visual es realmente necesario y si agrega valor al usuario final. Si la respuesta es no, debes quitar ese objeto visual. En lugar de usar varios objetos visuales en la página, piensa en otras formas de proporcionar detalles adicionales, como páginas de obtención de detalles e información sobre herramientas en páginas de informes.

Examina el número de campos de cada uno de los objetos visuales. Cuanto más objetos visuales tengas en el informe, más probabilidades habrá de problemas de rendimiento. Además, cuanto mayor sea el número de objetos visuales, más abarrotado puede aparecer el informe, con la consecuente pérdida de claridad. El límite superior de los objetos visuales es de 100 campos (medidas o columnas), por lo que un objeto visual con más de 100 campos se cargará con lentitud. Pregúntate si realmente necesita todos estos datos en un objeto visual. Es posible que pueda reducir el número de campos que usas actualmente.

Consulta DAX

Al examinar los resultados en el panel Analizador de rendimiento, podrás ver cuánto tiempo ha tardado el motor de Power BI Desktop en evaluar cada consulta (en milisegundos). Un buen punto de partida es cualquier consulta DAX que tarde más de 120 milisegundos. En este ejemplo, se identifica una consulta determinada con una duración prolongada.

El Analizador de rendimiento resalta posibles problemas, pero no te indica lo que debes hacer para mejorarlos. Es posible que quieras realizar una investigación más detallada sobre por qué esta medida tarda tanto en procesarse. Puedes usar DAX Studio para investigar con más detalle las consultas.

Por ejemplo, selecciona Copiar consulta para copiar la fórmula de cálculo en el portapapeles y, después, pégala en Dax Studio. Luego, puedes revisar el paso de cálculo con más detalle. En este ejemplo, intenta contar el número total de productos con cantidades de pedido mayor o igual a cinco.

Count Customers =
CALCULATE (
    DISTINCTCOUNT ( Order[ProductID] ),
    FILTER ( Order, Order[OrderQty] >= 5 )
)

Después de analizar la consulta, puedes usar tus propios conocimientos y experiencia para identificar dónde están los problemas de rendimiento. También puedes intentar usar otras funciones de DAX para ver si mejoran el rendimiento. En el ejemplo siguiente, la función FILTER se ha reemplazado por la función KEEPFILTER. Cuando la prueba se vuelve a ejecutar en el Analizador de rendimiento, la duración es más corta debido a la función KEEPFILTER.

Count Customers =
CALCULATE (
    DISTINCTCOUNT ( Order[ProductID] ),
    KEEPFILTERS (Order[OrderQty] >= 5 )
)

En este caso, puedes reemplazar la función FILTER por la función KEEPFILTER para reducir significativamente el tiempo de duración de la evaluación de esta consulta. Al realizar este cambio, para comprobar si el tiempo de duración ha mejorado o no, borre la caché de datos y, después, vuelve a ejecutar el proceso del Analizador de rendimiento.

Modelo semántico

Si la duración de las medidas y los objetos visuales muestran valores bajos (en otras palabras, tienen un tiempo de duración breve), no son el motivo de los problemas de rendimiento. En cambio, si la consulta DAX muestra un valor de duración alto, es probable que una medida esté mal escrita o que haya ocurrido un problema con el modelo semántico. El problema se podría deber a las relaciones, las columnas o los metadatos del modelo, o bien podría ser el estado de la opción Fecha y hora automáticas, como se explica en la sección siguiente.

Relaciones

Debes revisar las relaciones entre las tablas para asegurarte de que has establecido las relaciones correctas. Comprueba que las propiedades de cardinalidad de las relaciones estén configuradas correctamente. Por ejemplo, una columna del lado "uno" que contiene valores únicos podría estar configurada incorrectamente como una columna del lado "varios". En este módulo, hablaremos más tarde sobre el efecto de la cardinalidad en el rendimiento.

Columnas

Se recomienda no importar las columnas de datos que no se necesitan. Para evitar eliminar columnas en el editor de Power Query, debes intentar gestionarlas en el origen al cargar datos en Power BI Desktop. Sin embargo, si es imposible eliminar columnas redundantes de la consulta de origen o los datos ya se han importado en el estado sin procesar, siempre puedes utilizar el editor de Power Query para examinar cada columna. Pregúntate si realmente necesita cada columna e intente identificar el beneficio que cada una de ellas aporta en el modelo semántico. Si descubres que una columna no agrega valor, debes eliminarla del modelo semántico. Por ejemplo, imagina que tienes una columna de identificador con miles de filas únicas. Sabes que no usarás esta columna concreta en una relación, por lo que no se utilizará en un informe. Por lo tanto, debes considerar esta columna como innecesaria y reconocer que supone una pérdida de espacio en el modelo semántico.

Al eliminar una columna innecesaria, reducirás el tamaño del modelo semántico; a su vez, esto reducirá el tamaño de archivo y acelerará el tiempo de actualización. Además, debido a que el modelo semántico contiene solo datos relevantes, el rendimiento general del informe mejorará.

Para obtener más información, consulta Técnicas de reducción de datos para modelos de importación.

Metadatos

Los metadatos son información sobre otros datos. Los metadatos de Power BI contienen información sobre tu modelo semántico, como el nombre, el tipo de datos, el formato de cada una de las columnas, el esquema de la base de datos, el diseño del informe, cuándo se modificó el archivo por última vez, las frecuencias de actualización de datos, etc.

Cuando se cargan datos en Power BI Desktop, es recomendable analizar los metadatos correspondientes para poder identificar cualquier falta de uniformidad con tu modelo semántico y normalizar los datos antes de comenzar a crear informes. Ejecutar análisis en tus metadatos mejorará el rendimiento del modelo semántico porque, al analizarlos, identificará columnas innecesarias, errores dentro de tus datos, tipos de datos incorrectos, el volumen de datos cargado (los modelos semánticos grandes, incluidos los datos transaccionales o históricos, tardarán más en cargarse) y mucho más.

Puedes usar el editor de Power Query en Power BI Desktop para examinar las columnas, las filas y los valores de los datos sin procesar. Después, puedes usar las herramientas disponibles, como las que se resaltan en la captura de pantalla siguiente, para realizar los cambios necesarios.

Algunas opciones de Power Query:

  • Columnas innecesarias: evalúa la necesidad de cada columna. Si una o más columnas no se van a usar en el informe y, por tanto, no son necesarias, debes quitarlas con la opción Eliminar columnas de la pestaña Inicio.

  • Filas innecesarias: comprueba las primeras filas del modelo semántico para ver si están vacías o si contienen datos que no necesita en tus informes; en ese caso, elimina esas filas con la opción Eliminar filas en la pestaña Inicio.

  • Tipo de datos: evalúa los tipos de datos de columna para asegurarse de que todos sean correctos. Si identificas un tipo de datos incorrecto, puedes cambiarlo seleccionando la columna, Tipo de datos (en la pestaña Transformar) y, luego, el tipo de datos correcto en la lista.

  • Nombres de consulta: examina los nombres de consulta (tabla) en el panel Consultas. Tal y como has hecho con los nombres de encabezado de columna, debes cambiar los nombres de consulta poco comunes o útiles por otros más obvios o más conocidos para el usuario. Puedes cambiar el nombre de una consulta haciendo clic con el botón derecho en ella, seleccionando Cambiar nombre, editando el nombre según corresponda y pulsando Intro.

  • Detalles de la columna: el editor de Power Query tiene las siguientes tres opciones de vista previa de datos que puedes usar para analizar los metadatos asociados con tus columnas. Puedes encontrar estas opciones en la pestaña Ver, como se muestra en la siguiente captura de pantalla.

    • Calidad de columnas: determina qué porcentaje de elementos de la columna son válidos, tienen errores o están vacíos. Si el porcentaje válido no es 100, debes investigar el motivo, corregir los errores y rellenar los valores vacíos.

    • Distribución de columnas: muestra la frecuencia y distribución de los valores en cada una de las columnas. Esto se analizará posteriormente en este módulo.

    • Perfil de columna: muestra un gráfico de estadísticas de columnas y un gráfico de distribución de columnas.

Nota

Si estás revisando un modelo semántico grande con más de 1000 filas y deseas analizar todo ese modelo semántico, debes cambiar la opción predeterminada en la parte inferior de la ventana. Selecciona Generación de perfiles de columna a partir de las primeras 1000 filas>Generación de perfiles de columna a partir de todo el conjunto de datos.

Otros metadatos que debes tener en cuenta son la información sobre el modelo semántico en su conjunto, como el tamaño del archivo y las frecuencias de actualización de datos. Puedes encontrar estos metadatos en el archivo Power BI Desktop (.pbix) asociado. Los datos que carga en Power BI Desktop se comprimen y almacenan en el disco mediante el motor de almacenamiento VertiPaq. El tamaño del modelo semántico tiene un impacto directo en su rendimiento; un modelo semántico de tamaño pequeño utiliza menos recursos (memoria), lo que acelera la actualización de datos, los cálculos y la representación de objetos visuales en informes.

Característica Fecha y hora automáticas

Otro elemento importante a la hora de optimizar el rendimiento es la opción Fecha y hora automáticas en Power BI Desktop. De forma predeterminada, esta característica está habilitada globalmente, lo que significa que Power BI Desktop crea automáticamente una tabla calculada oculta para cada columna de fecha, siempre que se cumplan ciertas condiciones. Las nuevas tablas ocultas se suman a las tablas que ya tiene en tu modelo semántico.

La opción Fecha y hora automáticas te permite trabajar con la inteligencia de tiempo al filtrar, agrupar y explorar los periodos de tiempo laborales. Es recomendable tener habilitada la opción Fecha y hora automáticas solo cuando se trabaje con periodos de tiempo laborales y cuando tengas requisitos de modelo temporales sencillos.

Si el origen de datos ya define una tabla de dimensiones de fecha, se debe usar esa tabla para definir el tiempo de forma uniforme dentro de la organización, y debes deshabilitar la opción Fecha y hora automáticas global. Deshabilitar esta opción puede reducir el tamaño de tu modelo semántico y el tiempo de actualización.

Puedes habilitar o deshabilitar esta opción Fecha y hora automáticas globalmente para que se aplique a todos tus archivos de Power BI Desktop, o puedes habilitar o deshabilitar la opción para el archivo actual a fin de que se aplique solo a un archivo individual.

Para habilitar o deshabilitar esta opción Fecha y hora automáticas, ve a Archivo>Opciones y configuración>Opciones y selecciona la página Global o Archivo actual. En cualquiera de las páginas, selecciona Carga de datos y, después, en la sección Inteligencia de tiempo, activa o desactiva la casilla según sea necesario.

Para obtener una descripción general y una introducción a la característica Fecha y hora automáticas, consulta Aplicar fecha y hora automáticas en Power BI Desktop.