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.
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.
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.
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.
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.
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é.
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.
Nombre de la Consulta en el panel izquierdo del editor de Power Query.
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.
La categoría de la operación.
Estos datos le indican a qué tipo de origen de datos tiene acceso, como Oracle o SQL.
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.
La hora en la que se inició la operación.
La hora en la que finalizó la operación.
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.
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.
El recurso al que está accediendo para los datos. El formato exacto de este recurso depende del 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.
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í.
El número de filas que devuelve una consulta de origen de datos. No está habilitado en todos los conectores.
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.
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".
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.
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.
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.
Corresponde a la consulta o paso que se usa como partición 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.
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.
Lista de claves de partición de las que depende la partición actual (esta lista podría usarse para compilar un gráfico).
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 en la que se inició la evaluación para esta partición.
Hora en la que la evaluación finalizó para esta partición.
Valor derivado de la hora de finalización menos la hora de inicio.
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 como porcentaje.
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.
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.
Porcentaje de tiempo que invierten los procesadores en la consulta. Este porcentaje podría alcanzar más del 100 % debido a varios procesadores.
Duración total del tiempo de procesador invertido en la consulta.
Velocidad de rendimiento de los datos recibidos del origen de datos, expresados en bytes por segundo.
Cantidad de memoria virtual reservada por la evaluación.
Cantidad de memoria reservada por la evaluación.