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.

Captura de pantalla con los factores que afectan al rendimiento del informe

Para optimizar el rendimiento, primero debe identificar de dónde viene el problema; es decir, descubrir qué elementos de su 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 sus informes, necesita crear un modelo semántico eficiente que tenga consultas y medidas de ejecución rápida. Si tiene una buena base, puede mejorar aún más el modelo mediante el análisis de los planes de consulta y las dependencias; luego, puede 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 identifica la consulta más lenta en el modelo semántico, puede centrarse primero en el mayor cuello de botella y establecer una lista de prioridades para resolver los demás problemas.

Analizar el rendimiento

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

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

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

    Para asegurarse de tener una caché de objetos visuales vacía, añada una página en blanco a su archivo de Power BI Desktop (.pbix) y, luego, con esa página seleccionada, guarde y cierre el archivo. Vuelva a abrir el archivo de Power BI Desktop, que 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, puede reiniciar Power BI Desktop o conectar DAX Studio al modelo semántico y, luego, llamar a la función Borrar caché.

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

Para comenzar el proceso de análisis, seleccione Iniciar grabación, seleccione la página del informe que quiera analizar e interactúe con los elementos del informe que quiera supervisar. Verá que los resultados de las interacciones se muestran en el panel Analizador de rendimiento mientras trabaja. Cuando termine, seleccione el botón Detener.

Captura de pantalla con el botón de inicio del Analizador de rendimiento

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

Revisar resultados

Puede 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, haga clic con el botón derecho en el icono Ordenar, situado junto al encabezado de columna Duración (ms), y seleccione Tiempo total en orden Descendente.

Captura de pantalla en la que se muestra cómo ordenar los resultados en el Analizador

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 Power BI 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.

Captura de pantalla de las categorías en los resultados del Analizador de rendimiento

Los resultados le ayudan a comprender el comportamiento de su modelo semántico y a identificar los elementos que necesita 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, puede 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á descubra que necesita realizar mejoras en los objetos visuales, los cálculos 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.

Tenga en cuenta la cantidad de objetos visuales en la página del informe; cuantos menos objetos visuales haya, mejor será el rendimiento. Pregúntese si un objeto visual es realmente necesario y si añade valor al usuario final. Si la respuesta es no, debe quitar ese objeto visual. En lugar de usar varios objetos visuales en la página, piense 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.

Examine 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úntese si realmente necesita todos estos datos en un objeto visual. Es posible que pueda reducir el número de campos que usa actualmente.

Consulta DAX

Al examinar los resultados en el panel Analizador de rendimiento, podrá 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.

Captura de pantalla de un ejemplo de duración larga en el Analizador de rendimiento

El Analizador de rendimiento resalta posibles problemas, pero no le indica lo que debe hacer para mejorarlos. Es posible que necesite 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, seleccione Copiar consulta para copiar la fórmula de cálculo en el portapapeles y, después, péguela en DAX Studio. Luego, puede 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, puede usar sus propios conocimientos y experiencia para identificar dónde están los problemas de rendimiento. También puede intentar usar otras funciones de DAX para ver si estas 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 sustitución de funciones.

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

En este caso, puede 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, vuelva a ejecutar el proceso del Analizador de rendimiento.

Captura de pantalla de un ejemplo de duración corta en el Analizador de rendimiento

Modelo semántico

Si la duración de las medidas y los objetos visuales es baja (en otras palabras, si tienen un tiempo de duración breve), no son la causa 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; otra posibilidad es que la opción Fecha y hora automáticas esté habilitada, como se explica en la sección siguiente.

Relaciones

Debe revisar las relaciones del modelo entre las tablas para asegurarse de que haya establecido las relaciones correctas. Compruebe 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, analizaremos con más detalle 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 Power Query, debe 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 puede utilizar Power Query para examinar cada columna. Pregúntese si realmente necesita cada columna e intente identificar el beneficio que cada una de ellas aporta en el modelo semántico. Si descubre que una columna no agrega valor, debe eliminarla del modelo semántico. Por ejemplo, imagina que tienes una columna de identificador con miles de filas únicas. Como sabe que no usará esta columna concreta en una relación, no se utilizará en un informe. Por lo tanto, debe 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á 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, consulte 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 su 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 su modelo semántico y normalizar los datos antes de comenzar a crear informes. Ejecutar análisis en sus metadatos mejorará el rendimiento del modelo semántico porque, al analizarlos, identificará columnas innecesarias, errores dentro de sus 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), etc.

Puede usar el editor de Power Query en Power BI Desktop para examinar las columnas, las filas y los valores de los datos de origen. Después, puede usar las herramientas disponibles, como las que se resaltan en la siguiente imagen, para realizar los cambios necesarios.

Captura de pantalla con las opciones de la pestaña de cinta en la ventana de inicio del editor de Power Query, que se describen en el siguiente párrafo

Estas son las 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, debe quitarlas con la opción Eliminar columnas.

  • Filas innecesarias: compruebe las primeras filas del modelo semántico para ver si están vacías o si contienen datos que no necesita en sus informes; en ese caso, elimine esas filas con la opción Eliminar filas.

  • Tipo de datos: evalúa los tipos de datos de columna para asegurarse de que todos sean correctos. Si el tipo de datos es incorrecto, puede cambiarlo; para ello, seleccione la columna, seleccione Tipo de datos (en la pestaña de la cinta Transformar) y, luego, seleccione 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. Puede 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: Power Query tiene las siguientes tres opciones de vista previa de datos que puede usar para analizar los metadatos asociados con sus columnas. Puede encontrar estas opciones en la pestaña de la cinta 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, debe 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.

Captura de pantalla con las opciones de perfil de columna en la ventana del editor de Power Query

Nota

Si está revisando una consulta con más de 1000 filas y desea analizar todo ese modelo semántico, debe cambiar la opción predeterminada en la parte inferior de la ventana. Seleccione 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.

Captura de pantalla con las filas de perfil de columna en la ventana del editor de Power Query

Otros metadatos que debe 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 su 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 sus archivos de Power BI Desktop, o puede 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 la opción Fecha y hora automáticas, vaya a Archivo>Opciones y configuración>Opciones y seleccione 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.

Captura de pantalla en la que se muestra cómo configurar la fecha y hora automáticas

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.