Leer en inglés

Compartir a través de


Diagnóstico de consultas

Con Diagnóstico de consultas, puede llegar a comprender mejor lo que Power Query hace cuando crea y actualiza consultas en Power BI Desktop. Aunque esta característica se ampliará en el futuro, y además se añadirá la capacidad de usarla durante las actualizaciones completas, en la actualidad puede utilizarla para comprender qué clase de consultas está emitiendo, qué ralentizaciones podría experimentar durante la actualización de la creación y qué tipo de eventos en segundo plano están ocurriendo en un momento determinado.

Para utilizar Diagnóstico de consultas, diríjase a la pestaña Herramientas en la cinta de opciones del editor de Power Query.

Captura de pantalla de las características de diagnóstico de consulta en la cinta herramientas de Power Query.

De forma predeterminada, el Diagnóstico de consultas puede requerir derechos administrativos para ejecutarse (en función de la directiva de TI). Si no puede ejecutar Diagnósticos de consultas, abra la página de opciones de Power BI Desktop y, en la pestaña Diagnósticos, seleccione Habilitar en el editor de consultas (no requiere ejecutarse como administrador). Esta selección le impide poder realizar un seguimiento de los diagnósticos al realizar una actualización completa en Power BI en lugar de en el editor de Power Query. Pero le permite seguir utilizándolo al obtener una vista previa, creación, etc.

Captura de pantalla de las opciones de diagnóstico de consulta con la opción Habilitar en Editor de Power Query resaltada.

Cada vez que inicie el diagnóstico, Power Query comienza a realizar el seguimiento de las evaluaciones que se produzcan. La evaluación en la que piensan la mayoría de los usuarios es cuando se presiona "actualizar", o cuando se recuperan datos por primera vez. Pero hay muchas acciones que pueden provocar evaluaciones, en función del conector. Por ejemplo, con el conector de SQL, al recuperar una lista de valores que se van a filtrar, se iniciará también una evaluación, pero dicha evaluación no se asociará a ninguna consulta de usuario, lo que se representará en los diagnósticos. Otras consultas generadas por el sistema pueden incluir el navegador o la experiencia de obtención de datos.

Al presionar Diagnosticar paso, Power Query ejecuta una evaluación especial únicamente del paso que está examinando. A continuación, muestra los diagnósticos de ese paso en cuestión, pero no muestra los diagnósticos de otros pasos de la consulta. Esta evaluación puede facilitar mucho la obtención de una vista estrecha de un problema.

Es importante que, si está grabando todos los seguimientos de Iniciar diagnóstico, presione Detener diagnóstico. Detener los diagnósticos permite al motor recopilar los seguimientos registrados y analizarlos en la salida adecuada. Sin este paso, se pierden los seguimientos.

Tipos de diagnóstico

Actualmente se proporcionan tres tipos de diagnóstico, uno de los cuales tiene dos niveles de detalle.

El primero de estos diagnósticos es el diagnóstico principal, que tiene una vista detallada y una vista resumida. La vista resumida está destinada a proporcionarle información inmediata de dónde se invierte el tiempo en la consulta. La vista detallada es mucho más profunda, línea por línea, y, en general, solo es necesaria para diagnósticos graves por parte de usuarios avanzados.

En esta vista, algunas funcionalidades, como la columna Consulta del origen de datos, solo están disponibles actualmente en determinados conectores. Trabajaremos para aumentar la amplitud de esta cobertura en el futuro.

Las particiones de privacidad de datos proporcionan una mejor comprensión de las particiones lógicas que se usan para la privacidad de los datos.

Nota

Power Query puede realizar evaluaciones que probablemente usted no haya desencadenado de forma directa. Algunas de estas evaluaciones se realizan con el fin de recuperar metadatos para que podamos optimizar mejor nuestras consultas o proporcionar una mejor experiencia de usuario (como recuperar la lista de valores diferentes dentro de una columna que se muestra en la experiencia Filtrar filas). Otras evaluaciones pueden estar relacionadas con el modo en que un conector controla las evaluaciones paralelas. Al mismo tiempo, si en los diagnósticos de consultas usted detecta consultas repetidas que en su opinión parezcan no tener sentido, no dude en ponerse en contacto con nosotros a través de los canales de soporte técnico habituales: sus comentarios nos ayudan mucho a mejorar nuestro producto.

Vista resumida frente a vista detallada

El diagnóstico de consultas proporciona dos vistas: la resumida y la detallada. La vista resumida "contrae" varias operaciones relacionadas en una única operación. En este proceso, se combinan los detalles que recopila cada operación y se suman las duraciones exclusivas. En este proceso, no se pierde ninguna información.

La vista resumida proporciona información general sobre lo que se produjo durante una evaluación para una revisión sencilla de alto nivel. Si se desea un desglose adicional para una operación específica, puede examinar el id. de grupo y ver las operaciones correspondientes agrupadas en la vista de detalles.

Explicación de varias evaluaciones

Cuando se actualiza el editor de Power Query, se hacen muchas cosas en segundo plano para intentar ofrecerle una experiencia de usuario fluida. Por ejemplo, al Actualizar la vista previa, el evaluador ejecuta el paso final de cada consulta determinada. Pero en segundo plano ejecuta secuencialmente n-1 pasos, n-2, pasos, etc. Por lo tanto, si vuelve a recorrer los pasos, ya está disponible.

Para proporcionar un mayor rendimiento, actualmente se produce algún almacenamiento en caché para que no tenga que volver a ejecutar todas las partes del plan de consulta final, ya que retrocede a través de los pasos. Aunque este almacenamiento en caché es útil para la creación normal, implica que usted no puede obtener siempre la información sobre la comparación de pasos correcta debido a que las evaluaciones posteriores extraen datos almacenados en caché.

Esquema de Diagnósticos

Id

Al analizar los resultados de una grabación, es importante filtrar la sesión de grabación por id. para que las columnas como "% de duración exclusiva" tengan sentido.

Id. es un identificador compuesto. Está conformado por dos números: uno antes del punto y otro después. El primer número es el mismo para todas las evaluaciones resultantes de una sola acción de usuario. En otras palabras, si presiona la actualización dos veces, hay dos números diferentes que lleven el punto, uno para cada actividad de usuario tomada. Esta numeración es secuencial para una grabación de diagnóstico determinada.

El segundo número representa una evaluación por parte del motor. Este número es secuencial para la duración del proceso en el que se pone en cola la evaluación. Si ejecuta varias sesiones de grabación de diagnóstico, este número sigue creciendo entre las distintas sesiones.

En resumen, si inicia la grabación, presione la evaluación una vez y detenga la grabación; de esta forma, cierto número de Ids. aparecerán en los diagnósticos. Sin embargo, como usted solo tomó una acción, todos serán 1.1, 1.2, 1.3, etc.

La combinación de activityId y evaluationId, separadas por el punto, proporciona un identificador único para una evaluación de una sola sesión de grabación.

Consultar

Nombre de la Consulta en el panel izquierdo del editor de Power Query.

Paso

Nombre del Paso en el panel derecho del editor de Power Query. Cosas como las listas desplegables de filtros suelen asociarse con el paso en el que usted está filtrando, aunque no actualice dicho paso.

Category

La categoría de la operación.

Tipo de origen de datos

Estos datos le indican a qué tipo de origen de datos tiene acceso, como Oracle o SQL.

Operación

La operación real que se está realizando. Esta operación puede incluir: trabajo del evaluador, abrir conexiones, enviar consultas al origen de datos y mucho más.

Hora de inicio

La hora en la que se inició la operación.

Hora de finalización

La hora en la que finalizó la operación.

Duración exclusiva (%)

La columna Duración exclusiva de un evento es la cantidad de tiempo en el que el evento estaba activo. Esto contrasta con el valor "duration" (duración) que resulta de restar los valores de las columnas "Hora de inicio" de un evento y "Hora de finalización". Este valor de duración ("duration") representa el tiempo total transcurrido entre el momento en que se inició un evento y el momento en que finalizó, lo que podría incluir las horas en las que el evento estaba en un estado suspendido o inactivo y en las que otro evento estaba consumiendo recursos.

El porcentaje de duración exclusiva suma aproximadamente un 100 % dentro de una evaluación determinada, tal y como se representa en la columna "Id.". Por ejemplo, si filtra por filas con id. 1.x, los porcentajes de duración exclusiva sumarían aproximadamente un 100 %. Este no sería el caso si suma los valores de "% de duración exclusiva" de todas las filas de una tabla de diagnóstico determinada.

Duración exclusiva

El tiempo absoluto, en lugar del porcentaje (%) de duración exclusiva. La duración total (es decir, duración exclusiva + tiempo en que el evento estaba inactivo) de una evaluación se puede calcular de una de las siguientes dos maneras:

  • Busque la operación denominada "Evaluación". La diferencia entre la hora de finalización y la hora de inicio da como resultado la duración total de un evento.

  • Reste la hora de inicio mínima de todas las operaciones en un evento de la hora de finalización máxima. En los casos en los que la información recopilada para un evento no tenga en cuenta la duración total, se genera una operación denominada "Huecos de seguimiento" para tener en cuenta este intervalo de tiempo.

Resource

El recurso al que está accediendo para los datos. El formato exacto de este recurso depende del origen de datos.

Consulta de origen de datos

Power Query realiza un proceso denominado plegado, que es el acto de ejecutar tantas partes de la consulta en el origen de datos backend como sea posible. En el modo de DirectQuery (a través de Power Query), donde está habilitado, solo se ejecutarán las transformaciones que se pliegan. En el modo de importación, las transformaciones que no se pueden plegar se ejecutan de forma local.

La columna Consulta del origen de datos permite ver la consulta, la solicitud HTTP o la respuesta enviadas en el origen de datos backend. A medida que cree la consulta en el editor, se emiten muchas consultas de origen de datos. Algunas de estas consultas son la consulta de origen de datos final real para representar la vista previa. Pero otros podrían ser para la generación de perfiles de datos, listas desplegables de filtros, información sobre combinaciones, recuperación de metadatos para esquemas y cualquier número de otras consultas pequeñas.

En general, no debe preocuparse por el número de consultas de origen de datos emitidas a menos que haya razones específicas por las que preocuparse. En su lugar, debe centrarse en asegurarse de que se recupera el contenido adecuado. Esta columna también puede ayudar a determinar si la evaluación de Power Query se ha plegado por completo.

Información adicional

Hay mucha información que recuperan nuestros conectores. Gran parte de dicha información es desigual y no encaja bien en una jerarquía de columnas estándar. Esta información se coloca en un registro en la columna de información adicional. La información registrada desde conectores personalizados también aparece aquí.

Recuento de filas

El número de filas que devuelve una consulta de origen de datos. No está habilitado en todos los conectores.

Longitud del contenido

Longitud de contenido que devuelven las solicitudes HTTP, como se define normalmente. Este esquema no está habilitado en todos los conectores y no será preciso para los conectores que recuperen solicitudes en fragmentos.

"Is user query" (Es consulta de usuario)

Valor booleano que indica si es una consulta que crea el usuario y está presente en el panel izquierdo, o bien si la generó alguna otra acción del usuario. Otras acciones de usuario pueden incluir cosas como la selección de filtros o el uso del navegador en la experiencia "Obtener datos".

Path

La ruta ("path") representa la ruta relativa de la operación cuando se ve como parte de un árbol de intervalo para todas las operaciones dentro de una sola evaluación. En la parte superior (raíz) del árbol, hay una sola operación denominada Evaluación con la ruta de acceso "0". La hora de inicio de esta evaluación corresponde al inicio de esta evaluación en su conjunto. La hora de finalización de esta evaluación muestra cuándo finalizó toda la evaluación. Esta operación de nivel superior tiene una duración exclusiva de 0, ya que su único propósito es servir como raíz del árbol.

Rama de operaciones adicionales de la raíz. Por ejemplo, una operación podría tener "0/1/5" como ruta de acceso. Esta ruta de acceso se entendería como:

  • 0: árbol raíz
  • 1: elemento primario de la operación actual
  • 5: índice de la operación actual

La operación "0/1/5" puede tener un nodo secundario, en cuyo caso, la ruta de acceso tendrá la forma "0/1/5/8", donde 8 representa el índice del elemento secundario.

Id. de grupo

La combinación de dos (o más) operaciones no se produce si provoca una pérdida de detalles. La agrupación está diseñada para aproximarse a los "comandos" ejecutados durante la evaluación. En la vista detallada, varias operaciones comparten un Id. de grupo, correspondiente a los grupos agregados en la vista resumida.

Al igual que con la mayoría de las columnas, el Id. de grupo solo es relevante dentro de una evaluación específica, tal y como filtra la columna Id.

Esquema de particiones de privacidad de datos

Id

Igual que el Id. de los demás resultados de diagnóstico de consulta. La parte entera representa un Id. de actividad único, mientras que la parte fraccionaria representa una sola evaluación.

Clave de partición

Corresponde a la consulta o paso que se usa como partición de firewall.

Grupo de firewall

Categorización que explica por qué esta partición se debe evaluar por separado, incluidos los detalles sobre el nivel de privacidad de la partición.

Recursos a los que se accede

Lista de rutas de acceso a los recursos para todos los recursos a los que accede esta partición y, por lo general, identifica de forma única un origen de datos.

Entradas de partición

Lista de claves de partición de las que depende la partición actual (esta lista podría usarse para compilar un gráfico).

Expression

Expresión que se evalúa sobre la consulta o el paso de la partición. En varios casos, coincide con la consulta o con el paso.

Hora de inicio

Hora en la que se inició la evaluación para esta partición.

Hora de finalización

Hora en la que la evaluación finalizó para esta partición.

Duration

Valor derivado de la hora de finalización menos la hora de inicio.

Duración exclusiva

Si se supone que las particiones se ejecutan en un único subproceso, la duración exclusiva es la duración "real" que se puede atribuir a esta partición.

Duración exclusiva (%)

Duración exclusiva como porcentaje.

Diagnóstico

Esta columna solo aparece cuando también se capturan los diagnósticos de consulta "Agregados" o "Detallados", lo que permite al usuario corresponder entre las dos salidas de diagnóstico.

Esquema de los contadores de rendimiento

Al ejecutar contadores de rendimiento, cada medio segundo Power Query toma una instantánea del uso de recursos. Esta instantánea no es útil para las consultas muy rápidas, pero puede ser útil para las consultas que usan muchos más recursos.

Tiempo de procesador (%)

Porcentaje de tiempo que invierten los procesadores en la consulta. Este porcentaje podría alcanzar más del 100 % debido a varios procesadores.

Tiempo total de procesador

Duración total del tiempo de procesador invertido en la consulta.

Bytes de datos de E/S por segundo

Velocidad de rendimiento de los datos recibidos del origen de datos, expresados en bytes por segundo.

Confirmación (bytes)

Cantidad de memoria virtual reservada por la evaluación.

Conjunto de trabajo (bytes)

Cantidad de memoria reservada por la evaluación.