Diagnostica query

Con Diagnostica query è possibile comprendere meglio le operazioni di Power Query in fase di creazione e aggiornamento in Power BI Desktop. Anche se questa funzionalità verrà espansa in futuro, inclusa l'aggiunta della possibilità di usarla durante gli aggiornamenti completi, in questo momento è possibile usarla per comprendere quali tipi di query vengono generate, quali rallentamenti potrebbero verificarsi durante l'aggiornamento della creazione e quale tipo di eventi in background si verificano.

Per usare Diagnostica query, passare alla scheda Strumenti della barra multifunzione dell'editor di Power Query.

Diagnostica query.

Per impostazione predefinita, Diagnostica query potrebbe richiedere diritti amministrativi per l'esecuzione (a seconda dei criteri IT). Se non è possibile eseguire Diagnostica query, aprire la pagina opzioni di Power BI e nella scheda Diagnostica selezionare Abilita in Editor di query (non richiede l'esecuzione come amministratore). Questa selezione limita la possibilità di tracciare la diagnostica quando si esegue un aggiornamento completo in Power BI anziché nell'editor di Power Query, ma consente comunque di usarla durante l'anteprima, la creazione e così via.

Opzioni di Diagnostica query.

Ogni volta che si avvia la diagnostica, Power Query inizia a tracciare tutte le valutazioni causate. La valutazione che la maggior parte degli utenti ritiene è quando si preme l'aggiornamento o quando si recuperano i dati per la prima volta, ma esistono molte azioni che possono causare valutazioni, a seconda del connettore. Ad esempio, con il connettore SQL, quando si recupera un elenco di valori da filtrare, viene avviata anche una valutazione, ma non viene associata a una query utente e rappresentata nella diagnostica. Altre query generate dal sistema possono includere lo strumento di navigazione o l'esperienza di recupero dei dati.

Quando si preme Diagnostica passaggio, Power Query esegue una valutazione speciale solo del passaggio da esaminare. Viene quindi visualizzata la diagnostica per tale passaggio, senza visualizzare la diagnostica per altri passaggi della query. Questo può rendere molto più semplice ottenere una visualizzazione stretta in un problema.

È importante che, se si registrano tutte le tracce da Avvia diagnostica , premere Arresta diagnostica. L'arresto della diagnostica consente al motore di raccogliere le tracce registrate e analizzarle nell'output appropriato. Senza questo passaggio, si perderanno le tracce.

Tipi di diagnostica

Attualmente sono disponibili tre tipi di diagnostica, uno dei quali ha due livelli di dettaglio.

La prima di queste diagnostiche è la diagnostica primaria, con una visualizzazione dettagliata e una vista riepilogata. La visualizzazione riepilogata è destinata a fornire informazioni immediate sulla posizione in cui viene impiegato il tempo nella query. La visualizzazione dettagliata è molto più profonda, linea per riga ed è, in generale, necessaria solo per la diagnosi seria da parte degli utenti esperti.

Per questa vista, alcune funzionalità, ad esempio la colonna Query origine dati, sono attualmente disponibili solo in determinati connettori. Microsoft lavorerà per estendere l'ampiezza di questa copertura in futuro.

Le partizioni di privacy dei dati offrono una migliore comprensione delle partizioni logiche usate per la privacy dei dati.

Nota

Power Query potrebbe eseguire valutazioni che potrebbero non essere state attivate direttamente. Alcune di queste valutazioni vengono eseguite per recuperare i metadati in modo da ottimizzare al meglio le query o per offrire un'esperienza utente migliore, ad esempio il recupero dell'elenco di valori distinti all'interno di una colonna visualizzata nell'esperienza Filtra righe. Altri potrebbero essere correlati al modo in cui un connettore gestisce le valutazioni parallele. Allo stesso tempo, se nella diagnostica delle query vengono ripetute query che non si ritiene opportuno, è possibile contattare i canali di supporto normali. Il feedback è il modo in cui si migliora il prodotto.

Riepilogo e visualizzazione dettagliata

La diagnostica delle query offre due visualizzazioni: riepilogate e dettagliate. La vista riepilogata "comprime" più operazioni correlate in un'unica operazione. In questo processo, i dettagli raccolti da ogni operazione vengono combinati e le durate esclusive vengono sommate. Nessuna informazione viene persa durante questo processo.

La visualizzazione riepilogata offre una panoramica di ciò che si è verificato durante una valutazione per una semplice revisione di alto livello. Se si desidera un'ulteriore suddivisione per un'operazione specifica, l'utente può esaminare l'ID gruppo e visualizzare le operazioni corrispondenti raggruppate nella visualizzazione dettagli.

Spiegazione di più valutazioni

Quando si esegue l'aggiornamento nell'editor di Power Query, c'è molto da fare dietro le quinte per tentare di offrire un'esperienza utente fluente. Ad esempio, quando si aggiorna l'anteprima, l'analizzatore eseguirà il passaggio finale di ogni query specificata. Ma in background esegue in sequenza n-1 passaggi, n-2, passaggi e così via, in modo che, se si esegue un passaggio indietro nei passaggi, è già disponibile.

Per offrire prestazioni più elevate, attualmente alcune operazioni di memorizzazione nella cache si verificano in modo che non sia necessario rieseguire ogni parte del piano di query finale man mano che esegue i passaggi. Anche se questa memorizzazione nella cache è utile per la creazione normale, significa che non si otterranno sempre informazioni corrette sul confronto dei passaggi a causa di valutazioni successive che estraggono i dati memorizzati nella cache.

Schema di diagnostica

ID

Quando si analizzano i risultati di una registrazione, è importante filtrare la sessione di registrazione in base all'ID, in modo che le colonne come Exclusive Duration % abbiano senso.

ID è un identificatore composito. È formato da due numeri, uno prima del punto e uno dopo. Il primo numero è lo stesso per tutte le valutazioni risultanti da una singola azione dell'utente. In altre parole, se si preme l'aggiornamento due volte, ci saranno due numeri diversi che portano il punto, uno per ogni attività dell'utente eseguita. Questa numerazione è sequenziale per una determinata registrazione diagnostica.

Il secondo numero rappresenta una valutazione da parte del motore. Questo numero è sequenziale per la durata del processo in cui viene accodata la valutazione. Se si eseguono più sessioni di registrazione diagnostica, si noterà che questo numero continua a crescere tra le diverse sessioni.

Per riepilogare, se avvii la registrazione, premi la valutazione una sola volta e interrompi la registrazione, avrai un certo numero di ID nella diagnostica. Tuttavia, poiché hai eseguito un'unica azione, saranno tutte 1.1, 1.2, 1.3 e così via.

La combinazione di activityId e evaluationId, separati dal punto, fornisce un identificatore univoco per una valutazione di una singola sessione di registrazione.

Query

Nome della query nel riquadro sinistro dell'editor di Power Query.

Procedi

Nome del passaggio nel riquadro destro dell'editor di Power Query. Elementi come gli elenchi a discesa dei filtri in genere associati al passaggio in base al quale si sta filtrando, anche se il passaggio non viene aggiornato.

Categoria

Categoria dell'operazione.

Tipo di origine dati

In questo modo viene indicato il tipo di origine dati a cui si accede, ad esempio SQL o Oracle.

Operazione

Operazione effettiva eseguita. Questa operazione può includere il lavoro dell'analizzatore, l'apertura di connessioni, l'invio di query all'origine dati e molte altre.

Ora di avvio

Ora di avvio dell'operazione.

Ora di fine

Ora di fine dell'operazione.

Durata esclusiva (%)

La colonna Durata esclusiva di un evento è la quantità di tempo in cui l'evento è stato attivo. Ciò contrasta con il valore "duration" risultante dalla sottrazione dei valori nella colonna Ora di inizio di un evento e nella colonna Ora di fine. Questo valore "duration" rappresenta il tempo totale trascorso tra l'inizio di un evento e il momento in cui è terminato, che può includere tempi in cui l'evento si trovava in uno stato sospeso o inattivo e un altro evento stava consumando risorse.

La percentuale di durata esclusiva somma fino a circa il 100% all'interno di una determinata valutazione, come rappresentato dalla colonna ID. Ad esempio, se si filtrano le righe con ID 1,x, le percentuali di durata esclusiva sommano a circa il 100%. Questo non è il caso se si sommano i valori % durata esclusiva di tutte le righe di una determinata tabella di diagnostica.

Durata esclusiva

Tempo assoluto, anziché %, di durata esclusiva. La durata totale (ovvero durata esclusiva + tempo in cui l'evento è inattivo) di una valutazione può essere calcolata in uno dei due modi seguenti:

  • Trovare l'operazione denominata "Evaluation". La differenza tra ora di fine e ora di inizio comporta la durata totale di un evento.

  • Sottrarre l'ora di inizio minima di tutte le operazioni in un evento dall'ora di fine massima. Si noti che nei casi in cui le informazioni raccolte per un evento non rappresentano la durata totale, viene generata un'operazione denominata "Gap di traccia" per tenere conto di questo intervallo di tempo.

Conto risorse

Risorsa a cui si accede per i dati. Il formato esatto di questa risorsa dipende dall'origine dati.

Query origine dati

Power Query esegue un'operazione denominata riduzione, ovvero l'esecuzione del maggior numero possibile di parti della query sull'origine dati back-end. In modalità Direct Query (su Power Query), se abilitata, verranno eseguite solo le trasformazioni che verranno eseguite. In modalità importazione, le trasformazioni che non possono essere piegate verranno invece eseguite in locale.

La colonna Query origine dati consente di visualizzare la query o la richiesta/risposta HTTP inviata sull'origine dati back-end. Durante la creazione della query nell'editor, verranno generate molte query sull'origine dati. Alcune di queste sono l'effettiva query origine dati finale per il rendering dell'anteprima, ma altre potrebbero essere per la profilatura dei dati, gli elenchi a discesa dei filtri, le informazioni sui join, il recupero di metadati per gli schemi e qualsiasi numero di altre query di piccole dimensioni.

In generale, non è consigliabile preoccuparsi del numero di query di origine dati generate, a meno che non ci siano motivi specifici da preoccuparsi. È invece consigliabile concentrarsi su come assicurarsi che il contenuto appropriato venga recuperato. Questa colonna può anche essere utile per determinare se la valutazione di Power Query è stata completamente piegata.

Informazioni aggiuntive

Sono disponibili molte informazioni recuperate dai connettori. Gran parte di esso è infuriato e non si adatta bene in una gerarchia di colonne standard. Queste informazioni vengono inserite in un record nella colonna informazioni aggiuntive. Le informazioni registrate dai connettori personalizzati vengono visualizzate anche qui.

Numero di righe

Numero di righe restituite da una query origine dati. Non abilitato in tutti i connettori.

Lunghezza del contenuto

Lunghezza del contenuto restituita dalle richieste HTTP, come comunemente definito. Questa opzione non è abilitata in tutti i connettori e non sarà accurata per i connettori che recuperano le richieste in blocchi.

Query utente

Valore booleano che indica se si tratta di una query creata dall'utente e presente nel riquadro a sinistra o se è stata generata da un'altra azione dell'utente. Altre azioni utente possono includere elementi come la selezione di filtri o lo strumento di navigazione nell'esperienza di recupero dei dati.

Percorso

Path rappresenta la route relativa dell'operazione quando viene visualizzata come parte di un albero di intervalli per tutte le operazioni all'interno di una singola valutazione. Nella parte superiore (radice) dell'albero è presente una singola operazione denominata Evaluation con percorso "0". L'ora di inizio di questa valutazione corrisponde all'inizio della valutazione nel suo complesso. L'ora di fine di questa valutazione viene visualizzata al termine dell'intera valutazione. Questa operazione di primo livello ha una durata esclusiva pari a 0, perché l'unico scopo è quello di fungere da radice dell'albero.

Ramo operativo aggiuntivo dalla radice. Ad esempio, un'operazione potrebbe avere "0/1/5" come percorso. Questo percorso verrà interpretato come:

  • 0: radice dell'albero
  • 1: elemento padre dell'operazione corrente
  • 5: indice dell'operazione corrente

L'operazione "0/1/5" potrebbe avere un nodo figlio, nel qual caso il percorso ha il formato "0/1/5/8", con 8 che rappresenta l'indice dell'elemento figlio.

ID gruppo

La combinazione di due o più operazioni non si verificherà se comporta una perdita di dettagli. Il raggruppamento è progettato per approssimare i "comandi" eseguiti durante la valutazione. Nella visualizzazione dettagliata più operazioni condividono un ID gruppo, corrispondente ai gruppi aggregati nella visualizzazione Riepilogo.

Come per la maggior parte delle colonne, l'ID gruppo è rilevante solo all'interno di una valutazione specifica, come filtrato in base alla colonna ID.

Schema delle partizioni della privacy dei dati

ID

Uguale all'ID per gli altri risultati della diagnostica della query. La parte integer rappresenta un singolo ID attività, mentre la parte frazionaria rappresenta una singola valutazione.

Chiave di partizione

Corrisponde alla query/passaggio usata come partizione del firewall.

Gruppo di firewall

Categorizzazione che spiega perché questa partizione deve essere valutata separatamente, inclusi i dettagli sul livello di privacy della partizione.

Risorse accessibili

Elenco dei percorsi delle risorse per tutte le risorse a cui si accede da questa partizione ed è in genere in modo univoco che identifica un'origine dati.

Input di partizione

Elenco di chiavi di partizione da cui dipende la partizione corrente (questo elenco può essere usato per compilare un grafico).

Espressione

Espressione che viene valutata sopra la query/passaggio della partizione. In diversi casi, coincide con la query/passaggio.

Ora di avvio

Ora di avvio della valutazione per questa partizione.

Ora di fine

Ora di fine della valutazione per questa partizione.

Durata

Valore derivato dall'ora di fine meno ora di inizio.

Durata esclusiva

Se si presuppone che le partizioni vengano eseguite in un singolo thread, la durata esclusiva è la durata "reale" che può essere attribuita a questa partizione.

% durata esclusiva

Durata esclusiva come percentuale.

Diagnostica

Questa colonna viene visualizzata solo quando viene acquisita anche la diagnostica della query "Aggregated" o "Detailed", consentendo all'utente di corrispondere tra i due output di diagnostica.

Schema dei contatori delle prestazioni

Quando si eseguono contatori delle prestazioni, ogni mezzo secondo Power Query acquisisce uno snapshot dell'utilizzo delle risorse. Questo snapshot non è utile per le query molto veloci, ma può essere utile per le query che usano molte più risorse.

% tempo processore

Percentuale di tempo impiegato dai processori nella query. Questa percentuale può raggiungere un valore superiore al 100% a causa di più processori.

Tempo totale processore

Durata totale del tempo del processore dedicato alla query.

Byte di dati I/O al secondo

Velocità effettiva dei dati ricevuti dall'origine dati, espressa in byte al secondo.

Commit (byte)

Quantità di memoria virtuale riservata dalla valutazione.

Working set (byte)

Quantità di memoria riservata dalla valutazione.

Altre letture

Come registrare la diagnostica in vari casi d'uso

Altre informazioni sulla lettura e la visualizzazione delle tracce registrate

Come comprendere le operazioni di query che si stanno riducendo usando Diagnostica query