Query DAX in LuckyTemplates: piani di query logici e fisici

Query DAX in LuckyTemplates: piani di query logici e fisici

In questa esercitazione verranno illustrati i due piani di query DAX in LuckyTemplates.

I piani di query influiscono sulle prestazioni del DAX nella generazione di dati preziosi. Aiutano anche a ottimizzare i codici DAX che rendono il tuo rapporto più convincente.

Questi sono i due piani di query generati dal motore delle formule:

  • Piano di query logico
  • Piano di interrogazione fisica

Ogni query DAX attiva questi due eventi.

Sommario

Piano di query logico in LuckyTemplates

Questo è il flusso di query DAX. Per questa parte, concentrati sul terzo passaggio che è Semplificare l'albero del piano di query logico .

Query DAX in LuckyTemplates: piani di query logici e fisici

Questa query è simile alla query DAX. Quando si esegue una query DAX, corrisponde principalmente a ciò che sta facendo il piano di query logico.

Per illustrare, ecco una query di esempio.

Query DAX in LuckyTemplates: piani di query logici e fisici

Se lo esegui, otterrai un risultato di 29.138.

Query DAX in LuckyTemplates: piani di query logici e fisici

Se esegui la query in DAX Studio e attivi la scheda Eventi del piano di query, troverai i piani di query. Tra i due tipi, il Logical Query Plan si presenta per primo.

Query DAX in LuckyTemplates: piani di query logici e fisici

Ogni riga rientrata è una sottoattività costruita l'una sull'altra. La prima riga è il risultato finale del tuo DAX. Le altre righe sommano e scansionano la colonna Quantità di FactSales.

La prima parola prima dei due punti si chiama operatore .

Query DAX in LuckyTemplates: piani di query logici e fisici

Le parole dopo i due punti sono chiamate tipi di operatori .

Query DAX in LuckyTemplates: piani di query logici e fisici

Esistono due tipi di tipi di operatore:

  • RelLogOp
  • ScaLogOp

RelLogOp è un output della tabella. DAX utilizza VertiPaq per eseguire la scansione di una colonna per produrre una tabella. D'altra parte, ScaLogOp è un output scalare; questo significa che è un numero aggregato. Se guardi la seconda e ultima riga del piano di query, vedrai che somma e ottiene la quantità di FactSales' Quantity.

I piani di query logici creano una tabella a una riga denominata Total Quantity che contiene la somma di Quantity dalla tabella FactSales.

Il piano di query è più facile da decodificare poiché usa una semplice query DAX. Più complesso è il tuo DAX, più difficile è decodificarlo.

Una buona cosa per cui lottare è vedere molti operatori "_VertiPaq" possibili. Ciò significa che fa tutto il lavoro da solo per aiutarti a ottimizzare i tuoi codici DAX.

Piano di query fisiche in LuckyTemplates

Il Physical Query Plan è il secondo tra i due tipi. Questo è il quarto passaggio del flusso di query DAX. Ha la stessa struttura ad albero del Logical Query Plan.

Una volta che il piano di query logico è stato creato, viene inviato al piano di query fisico per essere eseguito. Se esegui la stessa query di esempio, otterrai la stessa risposta.

Query DAX in LuckyTemplates: piani di query logici e fisici

In particolare, il quarto passaggio nel flusso di query DAX consiste nel creare l'albero del piano di query fisico .

Query DAX in LuckyTemplates: piani di query logici e fisici

Potrebbe sembrare simile al Logical Query Plan, ma è diverso. Normalmente, il piano di query fisico è difficile da abbinare alla query DAX in LuckyTemplates , ma poiché si tratta di una semplice query di esempio, è possibile seguire il processo.

Questi sono i tre tipi di operatori nel piano di query fisico:

  • LookupPhyOp
  • InterPhy Op
  • SpoolPhyOp

LookupPhyOp fornisce valori scalari in un determinato contesto di riga. InterPhyOp esegue l'iterazione dei dati in una tabella riga per riga . SpoolPhyOp riceve i risultati da una query VertiPaq, li materializza e li archivia in memoria.

Nella quarta riga del piano di query, puoi vedere un operatore ProjectionSpool che indica che una query viene inviata al motore di archiviazione. Itera i risultati di una query con il numero di record.

La quantità di record mostrata nel piano della query deve essere la quantità minima di record richiesta per completare la risposta. Il risultato di questa semplice query ha solo 1 riga, quindi ha restituito 1 record nel piano di query.

La colonna Records , che corrisponde a SpoolPhyOp di ProjectionSpool, mostra la quantità di dati inviati dal motore di archiviazione al motore delle formule. Quindi, più record hai, più lenta sarà la tua query.

Se le prestazioni DAX sono lente, la colonna Record è un buon punto di partenza per cercare.


Calcoli DAX in LuckyTemplates: le best practice
ottimizzano le funzioni DAX con questo nuovo corso
5 strategie per migliorare le tue competenze DAX di LuckyTemplates

Conclusione

Quando si esegue una query DAX, viene eseguita una serie di passaggi prima di fornire una risposta. Due di questi passaggi sono i piani di query logici e fisici. Sono responsabili del processo passo-passo e dell'esecuzione delle formule utilizzate nel calcolo.

Se vuoi saperne di più su questi piani di query, segui questo tutorial e prova a usare DAX Studio per vederli in prima persona.


Power Automate si applica a ogni azione nei flussi di lavoro

Power Automate si applica a ogni azione nei flussi di lavoro

Scopri l

Tecniche di modellazione dei dati per organizzare le misure DAX

Tecniche di modellazione dei dati per organizzare le misure DAX

Tecniche di modellazione dei dati per organizzare meglio le misure DAX per un flusso di lavoro più efficiente.

Filtro Power Apps: cosè e come si usa?

Filtro Power Apps: cosè e come si usa?

Scopri come utilizzare la funzione di filtro in Power Apps e come incorporarla nelle formule esistenti all

Come commentare più righe in Python: una guida semplice e veloce

Come commentare più righe in Python: una guida semplice e veloce

Come commentare più righe in Python: una guida semplice e veloce

Connettori Power Automate: numero, testo e data e ora

Connettori Power Automate: numero, testo e data e ora

Acquisisci familiarità con i connettori Power Automate per la manipolazione di numeri, testo e date/ore.

Budget Vs Actual Vs Last Year - Suggerimenti per la rendicontazione finanziaria

Budget Vs Actual Vs Last Year - Suggerimenti per la rendicontazione finanziaria

Ora, è molto facile studiare il budget rispetto all

Come salvare e caricare un file RDS in R

Come salvare e caricare un file RDS in R

Imparerai come salvare e caricare oggetti da un file .rds in R. Questo articolo tratta anche come importare oggetti da R a LuckyTemplates.

Che cosè Power Query e M Language: una panoramica dettagliata

Che cosè Power Query e M Language: una panoramica dettagliata

Scopri tutto su Power Query e il linguaggio M per la trasformazione e la preparazione dei dati nel desktop di LuckyTemplates.

Cosè il sé in Python: esempi del mondo reale

Cosè il sé in Python: esempi del mondo reale

Cos'è il sé in Python: esempi del mondo reale

Rivisitazione dei primi N giorni lavorativi: una soluzione per il linguaggio di codifica DAX

Rivisitazione dei primi N giorni lavorativi: una soluzione per il linguaggio di codifica DAX

In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.