Grabación de diagnósticos de consultas en Power BI
Al crear en Power Query, el flujo de trabajo básico es que se conecta a un origen de datos, aplica algunas transformaciones, actualiza potencialmente los datos en el editor de Power Query y, a continuación, los carga en el modelo de Power BI. Cuando estén en el modelo de Power BI, puede actualizarlos de vez en cuando en Power BI Desktop (si usa Desktop para ver análisis), aparte de las actualizaciones que realice en el servicio.
Aunque puede obtener un resultado similar al final de un flujo de trabajo de creación, actualizar en el editor o actualizar adecuadamente en Power BI, el software ejecuta evaluaciones muy diferentes para las distintas experiencias de usuario proporcionadas. Es importante saber qué esperar al realizar diagnósticos de consultas en estos flujos de trabajo diferentes para que no se sorprenda de que haya datos de diagnóstico muy diferentes.
Para iniciar Diagnóstico de consultas, vaya a la pestaña Herramientas en la cinta del editor de Power Query. Aquí se presentan algunas opciones diferentes.
Aquí hay dos opciones principales: "Diagnosticar paso" e "Iniciar diagnóstico" (emparejadas con "Detener diagnóstico"). La primera le proporcionará información sobre una consulta hasta un paso seleccionado y es más útil para saber qué operaciones se realizan de forma local o remota en una consulta. La segunda proporciona más información sobre diversos otros casos, que se describen a continuación.
Características específicas del conector
Es importante mencionar que no hay ninguna manera de cubrir todas las diferentes permutaciones de lo que verá en Diagnóstico de consultas. Hay muchas cosas que pueden cambiar exactamente lo que se ve en los resultados:
- Connector
- Transformaciones aplicadas
- Sistema en el que se está ejecutando
- Configuración de red
- Opciones de configuración avanzadas
- Configuración de ODBC
Para obtener la cobertura más amplia, esta documentación se centrará en el Diagnóstico de consultas de la tabla Clientes de Northwind, tanto en SQL como en OData. Las notas de OData usan el punto de conexión público que se encuentra en el sitio web de OData.org, mientras que usted tendrá que proporcionar un servidor SQL server por usted mismo. Muchos orígenes de datos variarán significativamente respecto a estos y se les añadirá documentación específica del conector a lo largo del tiempo.
Iniciar / detener diagnósticos
"Iniciar diagnóstico" y "Detener diagnóstico" se pueden aplicar de manera más amplia que "Diagnosticar paso", pero también le proporcionarán mucha más información que deberá ordenar. Por ejemplo, iniciar diagnósticos, actualizar una vista previa y, a continuación, detener le proporcionará información equivalente para ejecutar Diagnosticar paso en cada paso (debido a cómo funciona Power Query en el editor para actualizar cada paso de forma independiente).
Para iniciar la grabación, seleccione Iniciar diagnóstico, realice las evaluaciones que desee (creación, actualización de vista previa, actualización completa) y, a continuación, seleccione Detener diagnóstico.
Creación
La principal diferencia del flujo de trabajo de creación es que generalmente generará más evaluaciones individuales de las que se ven en otros flujos de trabajo. Como se describe en el artículo principal de Diagnóstico de consultas, se trata de un resultado de rellenar varias interfaces de usuario, como el navegador o las listas desplegables de filtro.
Vamos a ver un ejemplo. En este ejemplo se usa el conector de OData, pero al revisar la salida también veremos la versión SQL de la misma base de datos. Para ambos orígenes de datos, vamos a conectarnos al origen de datos a través de "Nuevo origen", "Orígenes recientes" u "Obtener datos". Para la conexión SQL, deberá colocar las credenciales del servidor, pero para el punto de conexión público de OData, puede colocarlas en el punto de conexión del vínculo anterior.
Cuando se conecte y elija la autenticación, seleccione la tabla Customers (Clientes) en el servicio OData.
Al hacerlo, aparecerá la tabla Customers en la interfaz de Power Query. Supongamos que queremos saber cuántos representantes de ventas hay en diferentes países o regiones. En primer lugar, haga clic con el botón derecho en Sales Representative (Representante de ventas) en la columna Contact Title (Cargo del contacto), pase el ratón sobre Filtros de texto y seleccione Es igual a.
Ahora, seleccione Agrupar por en la cinta de opciones y realice una agrupación por País, con el agregado como Recuento.
Deberían aparecer los mismos datos que se ven a continuación.
Por último, vuelva a la pestaña Herramientas de la cinta de opciones y seleccione Detener diagnóstico. Se detendrá el seguimiento, se compilará el archivo de diagnóstico automáticamente y aparecerán en el lado izquierdo el resumen y las tablas detalladas.
Si realiza un seguimiento de toda una sesión de creación, normalmente esperará ver algo parecido a una evaluación de consultas de origen, luego las evaluaciones relacionadas con el navegador pertinente, y después al menos una consulta emitida para cada paso que aplique (posiblemente más en función de las acciones exactas de la experiencia de usuario realizadas). En algunos conectores, se producirán evaluaciones paralelas por motivos de rendimiento que generarán conjuntos de datos muy similares.
Actualizar vista previa
Cuando haya terminado de transformar los datos, tendrá una secuencia de pasos en una consulta. Al pulsar "Actualizar vista previa" o "Actualizar todo" en el editor de Power Query, no verá solo un paso en el diagnósticos de la consulta. El motivo de esto es que la actualización en el Editor de Power Query actualiza explícitamente la consulta que termina con el último paso aplicado y, a continuación, lleva a cabo los pasos aplicados y las actualizaciones de la consulta hasta ese punto, de vuelta al origen.
Esto significa que, si tiene cinco pasos en la consulta, incluidos Source y Navigator, lo normal será que aparezcan cinco evaluaciones diferentes en los diagnósticos. La primera, cronológicamente, a menudo (pero no siempre) será la que tardará más tiempo. Esto se debe a dos razones diferentes:
- Es posible que almacene en caché datos de entrada a los que las consultas que se ejecutan después de ella (que representan pasos anteriores de la consulta de usuario) pueden acceder más rápido localmente.
- Es posible que tenga transformaciones aplicadas que trunquen considerablemente la cantidad de datos que se deben devolver.
Tenga en cuenta que al hablar de "Actualizar todo" se actualizarán todas las consultas y tendrá que filtrar por las que le interesan, como cabría esperar.
Actualización completa
El diagnóstico de consultas se puede usar para diagnosticar lo que se conoce como la "consulta final" que se emite durante la actualización en Power BI, en lugar de simplemente la experiencia del editor de Power Query. Para ello, primero debe cargar los datos en el modelo una sola vez. Si tiene previsto hacerlo, asegúrese de que, si selecciona Cerrar y aplicar, la ventana del editor se cerrará (lo que interrumpirá el seguimiento), por lo que debe hacerlo en la segunda actualización, o bien seleccionar el icono de lista desplegable en Cerrar y aplicar y seleccionar Aplicar en su lugar.
En cualquier caso, asegúrese de seleccionar Iniciar diagnóstico en la sección Diagnóstico de la pestaña Herramientas del editor. Cuando haya hecho, actualice el modelo, o incluso solo la tabla que le interese.
Cuando haya terminado de cargar los datos en el modelo, seleccione Detener diagnóstico.
Es posible que vea alguna combinación de metadatos y consultas de datos. Las llamadas de metadatos capturan la información que pueden sobre el origen de datos. La recuperación de datos consiste en acceder al origen de datos, emitir la consulta de origen de datos final compilada con operaciones plegadas y, a continuación, realizar las evaluaciones que faltan en la parte superior, localmente.
Es importante tener en cuenta que solo porque se vea un recurso (base de datos, punto de conexión web, etc.) o una consulta de origen de datos en los diagnósticos, no significa necesariamente que realice actividad de red. Power Query puede recuperar esta información de su caché. En futuras actualizaciones, indicaremos si la información se está recuperando de la memoria caché para facilitar el diagnóstico.
Diagnosticar paso
"Diagnosticar paso" resulta más útil para obtener información sobre qué evaluaciones se están produciendo hasta un único paso, lo que puede ayudarle a identificar, hasta ese paso, qué rendimiento es similar, así como a qué partes de la consulta se realizan de forma local o remota.
Si ha usado "Diagnosticar paso" en la consulta que hemos creado anteriormente, verá que solo devuelve 10 filas, y si observamos la última fila con una consulta de origen de datos, podemos obtener una idea bastante buena de lo que será nuestra consulta final emitida al origen de datos. En este caso, podemos ver que el representante de ventas se filtró de forma remota, pero la agrupación (por proceso de eliminación) se llevó a cabo localmente.
Si inicia y detiene el diagnóstico y actualiza la misma consulta, obtenemos 40 filas debido al hecho de que, como se mencionó anteriormente, Power Query obtiene información sobre cada paso, no solo sobre el paso final. Esto hace que resulte más difícil cuando solo se intenta obtener información sobre una parte concreta de la consulta.
Otras lecturas
Introducción a la característica
Más información sobre la lectura y visualización de los seguimientos registrados
Cómo saber qué operaciones de consulta se pliegan mediante el diagnóstico de consultas