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 il tipo di query che si sta creando, 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.
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 Desktop 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 di usarlo ancora durante l'anteprima, la creazione e così via.
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. Esistono tuttavia 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. Questa valutazione 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, le tracce vengono perse.
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.
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, è possibile esaminare l'ID gruppo e visualizzare le operazioni corrispondenti raggruppate nella visualizzazione dei dettagli.
Quando si verifica un 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 esegue il passaggio finale di ogni query specificata. Ma in background esegue in sequenza n-1 passaggi, n-2, passaggi e così via. Quindi, se esegui i 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 ottengono sempre informazioni corrette sul confronto dei passaggi a causa di valutazioni successive che estraggono i dati memorizzati nella cache.
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 sono 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, questo numero continua a crescere tra le diverse sessioni.
Per riepilogare, se si avvia la registrazione, premere la valutazione una sola volta e arrestare la registrazione, nella diagnostica vengono visualizzati alcuni ID. Ma dato che hai fatto un'unica azione, sono 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.
Nome della query nel riquadro sinistro dell'editor di Power Query.
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 filtra, anche se il passaggio non viene aggiornato.
Categoria dell'operazione.
Questi dati indicano il tipo di origine dati a cui si accede, ad esempio SQL o Oracle.
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 dell'operazione.
Ora di fine dell'operazione.
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.
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. Nei casi in cui le informazioni raccolte per un evento non tengano conto della durata totale, viene generata un'operazione denominata "Gap di traccia" per tenere conto di questo intervallo di tempo.
Risorsa a cui si accede per i dati. Il formato esatto di questa risorsa dipende dall'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à DirectQuery (su Power Query), se abilitata, vengono eseguite solo le trasformazioni che vengono eseguite. In modalità di importazione, le trasformazioni che non possono essere piegate vengono 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. Quando si crea la query nell'editor, vengono generate molte query sull'origine dati. Alcune di queste query sono la query origine dati finale effettiva per il rendering dell'anteprima. Altri potrebbero tuttavia 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.
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 restituite da una query origine dati. Non abilitato in tutti i connettori.
Lunghezza del contenuto restituita dalle richieste HTTP, come comunemente definito. Questo schema non è abilitato in tutti i connettori e non è accurato per i connettori che recuperano le richieste in blocchi.
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.
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.
La combinazione di due o più operazioni non si verifica 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.
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.
Corrisponde alla query/passaggio usata come partizione del firewall.
Categorizzazione che spiega perché questa partizione deve essere valutata separatamente, inclusi i dettagli sul livello di privacy della partizione.
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.
Elenco di chiavi di partizione da cui dipende la partizione corrente (questo elenco può essere usato per compilare un grafico).
Espressione che viene valutata sopra la query/passaggio della partizione. In diversi casi, coincide con la query/passaggio.
Ora di avvio della valutazione per questa partizione.
Ora di fine della valutazione per questa partizione.
Valore derivato dall'ora di fine meno ora di inizio.
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 come percentuale.
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.
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.
Percentuale di tempo impiegato dai processori nella query. Questa percentuale potrebbe raggiungere un valore superiore al 100% a causa di più processori.
Durata totale del tempo del processore dedicato alla query.
Velocità effettiva dei dati ricevuti dall'origine dati, espressa in byte al secondo.
Quantità di memoria virtuale riservata dalla valutazione.
Quantità di memoria riservata dalla valutazione.