Corregir problemas de rendimiento

Completado

En ocasiones, las organizaciones tienen que solucionar problemas de rendimiento al ejecutar informes. Power BI proporciona la herramienta Analizador de rendimiento para ayudar a solucionar problemas y optimizar el proceso.

Imagine un escenario en el que va a crear informes para el equipo de ventas de la organización. Ha importado los datos, que se encuentran en varias tablas en la base de datos SQL del equipo de ventas, mediante la creación de una conexión de datos a la base de datos a través de DirectQuery. Al crear objetos visuales y filtros preliminares, observa que algunas tablas se consultan más rápido que otras y que algunos filtros tardan más en procesarse que otros.

Optimización del rendimiento en Power Query

El rendimiento de Power Query depende del rendimiento en el nivel de origen de datos. La diversidad de orígenes de datos que ofrece Power Query es amplia, así como las técnicas de optimización del rendimiento para cada origen, también muy variadas. Por ejemplo, si extrae datos de un servidor Microsoft SQL Server, debe seguir las instrucciones del producto para la optimización del rendimiento. Entre las técnicas recomendables de optimización del rendimiento de SQL Server se incluye la creación de índices, las actualizaciones de hardware, la optimización de los planes de ejecución y la compresión de datos. Estas cuestiones van más allá del ámbito de este tema y solo se mencionan a modo de ejemplo para que se familiarice con el origen de datos y aproveche las ventajas que supone usar Power BI y Power Query.

Power Query saca partido del buen rendimiento en el origen de datos a través de una técnica denominada "plegado de consultas".

Plegado de consultas

El plegado de consultas del Editor de Power Query ayuda a aumentar el rendimiento de los informes de Power BI. El plegado de consultas es el proceso por el que las transformaciones y las modificaciones realizadas en el Editor de Power Query se siguen de forma simultánea como consultas nativas, o simples instrucciones SQL Select, mientras se realizan transformaciones de manera activa. La razón para implementar este proceso consiste en asegurarse de que estas transformaciones puedan tener lugar en el servidor de origen de datos original y los recursos informáticos de Power BI no se sobrecarguen.

Puede usar Power Query para cargar datos en Power BI. Después, use el Editor de Power Query para transformar los datos, como cambiar el nombre de las columnas o eliminarlas, o bien anexar, analizar, filtrar o agrupar los datos.

Imagine un escenario en el que ha cambiado el nombre de algunas columnas de los datos de ventas y ha combinado una columna de ciudad y de estado con el formato "Ciudad/Estado". Mientras tanto, la característica de plegado de consultas lleva un seguimiento de estos cambios en las consultas nativas. Después, al cargar los datos, las transformaciones se producen de forma independiente en el origen inicial, con lo que se garantiza la optimización del rendimiento en Power BI.

Entre las ventajas del plegado de consultas se incluyen las siguientes:

  • Mayor eficacia en las actualizaciones incrementales y de datos. Cuando se importan tablas de datos mediante el plegado de consultas, Power BI asigna mejor los recursos y actualiza los datos con más rapidez, ya que no tiene que ejecutarse en cada transformación localmente.

  • Compatibilidad automática con los modos de almacenamiento DirectQuery y Dual. Todos los orígenes de datos de los modos de almacenamiento DirectQuery y Dual deben tener capacidades de procesamiento de servidor back-end para crear una conexión directa, lo que significa que el plegado de consultas es una función automática que se puede usar. Si todas las transformaciones se pueden reducir a una sola instrucción Select, puede producirse el plegado de consultas.

En el siguiente escenario se muestra el plegado de consultas en acción. En este escenario, aplicará un conjunto de consultas a varias tablas. Después de agregar un nuevo origen de datos mediante Power Query, y una vez que se le haya redirigido al Editor de Power Query, vaya al panel de Configuración de la consulta y haga clic con el botón derecho en el último paso aplicado, tal como se muestra en la figura siguiente.

Captura de pantalla del último paso realizado donde se ha hecho clic con el botón secundario para mostrar el menú contextual

Si la opción Ver consulta nativa no está disponible (es decir, no se muestra en negrita), el plegado de consultas no es posible para este paso y tendrá que retroceder al área Pasos aplicados hasta llegar al paso en el que esté disponible Ver consulta nativa (mostrado en negrita). Este proceso revelará la consulta nativa que se usa para transformar el modelo semántico.

Las consultas nativas no son posibles para las transformaciones siguientes:

  • Agregar una columna de índice
  • Combinar y anexar columnas de tablas diferentes con dos orígenes diferentes
  • Cambiar el tipo de datos de una columna

Una buena pauta que conviene recordar es que, si se puede traducir una transformación en una instrucción SQL Select, que incluya operadores y cláusulas como GROUP BY, SORT BY, WHERE, UNION ALL y JOIN, se puede usar el plegado de consultas.

Aunque el plegado de consultas es una opción para optimizar el rendimiento al recuperar, importar y preparar los datos, otra opción es el Diagnóstico de consultas.

Diagnóstico de consultas

Otra herramienta que se puede usar para estudiar el rendimiento de las consultas es el Diagnóstico de consultas. Puede determinar qué cuellos de botella podrían existir al cargar y transformar los datos, actualizarlos en Power Query, ejecutar instrucciones SQL en el editor de consultas, etc.

Para acceder al Diagnóstico de consultas en el Editor de Power Query, vaya a Herramientas en la cinta de opciones Inicio. Cuando esté a punto para empezar a transformar los datos o realizar otras modificaciones en el Editor de Power Query, seleccione Iniciar diagnósticos en la sección Diagnósticos de la sesión. Cuando haya terminado, asegúrese de seleccionar Detener diagnósticos.

Captura de pantalla de la pestaña Herramientas con opciones de diagnóstico de sesión en el Editor de Power Query

Al seleccionar Paso del diagnóstico, se muestra el tiempo que se tarda en ejecutar el paso, como se muestra en la imagen siguiente. Esto puede indicarle si un paso tarda más tiempo en completarse que otros, lo que servirá como punto de partida para una investigación más detallada.

Captura de pantalla de aplicación de diagnósticos de consulta

Esta herramienta es útil para analizar el rendimiento en Power Query al llevar a cabo tareas como la carga de modelos semánticos, la ejecución de actualizaciones de datos o la realización de otras tareas de transformación.

Otras técnicas para optimizar el rendimiento

Existen otras maneras de optimizar el rendimiento de las consultas en Power BI, como las siguientes:

  • Procesar tantos datos como sea posible en el origen de datos inicial. Power Query y el Editor de Power Query permiten procesar datos, pero la potencia de procesamiento necesaria para completar esta tarea puede reducir el rendimiento en otras áreas de los informes. Por lo general, se recomienda procesar lo máximo posible en el origen de datos nativo.

  • Usar consultas SQL nativas. Cuando use DirectQuery para las bases de datos SQL, como el caso de nuestro escenario, asegúrese de no extraer datos de procedimientos almacenados o expresiones de tabla común (CTE).

  • Separar la fecha y la hora, si están enlazadas. Si alguna de las tablas tiene columnas que combinan la fecha y la hora, asegúrese de separarlas en columnas distintas antes de importarlas en Power BI. De esta manera, aumentarán las capacidades de compresión.

Para obtener más información, vea Instrucciones de plegado de consultas y Plegado de consultas.