Motore di archiviazione in LuckyTemplates: operatori e query VertiPaq

Motore di archiviazione in LuckyTemplates: operatori e query VertiPaq

Questa esercitazione illustrerà gli operatori VertiPaq e le query del motore di archiviazione in LuckyTemplates. Imparerai come lavorano gli operatori dietro il calcolo e come il motore di archiviazione ti aiuta a ottimizzare le prestazioni dei tuoi codici DAX.

Gli operatori e le query VertiPaq consentono di monitorare l'esecuzione di ciascun codice in modo da poterli migliorare se necessario.

Sommario

Operatori VertiPaq

VertiPaq ha la capacità di calcolare query semplici. Dispone di operatori logici che eseguono i codici DAX per ottenere risposte.

Questi sono gli operatori logici di VertiPaq:

  • Scansione
  • Raggruppa per
  • Filtro
  • Somma
  • min
  • Massimo
  • Contare
  • DistinctCount
  • Media
  • Stdev.S
  • Stdev.P
  • Var.S
  • Var.P

Questi sono i piani di query logici e fisici generati da una query di esempio.

Motore di archiviazione in LuckyTemplates: operatori e query VertiPaq

Ogni volta che una riga ha _Vertipaq , significa che il motore VertiPaq sta facendo il lavoro da solo. Se guardi il Logical Query Plan , vedrai che ha Sum_Vertipaq e Scan_Vertipaq . Questi due operatori lavorano per scansionare e sommare la quantità di FactSales per generare una risposta.

Nel Physical Query Plan, vedrai anche un Sum_Vertipaq che utilizza un ProjectionSpool . Significa che una query viene inviata al motore di archiviazione e quindi restituita al motore delle formule in una cache di dati. Noterai anche che ha un solo record.

La colonna Record mostra quante righe vengono materializzate dal motore di archiviazione al motore delle formule. Ha solo bisogno di un record per funzionare in modo efficiente. Più record richiedono più tempo per il completamento della query.

Se il motore di archiviazione non è in grado di eseguire una richiesta, subentra il motore delle formule. Il motore delle formule può fare tutto ciò che chiedi, ma è molto più lento.

Query del motore di archiviazione

Questa è un'introduzione alle query del motore di archiviazione e a come leggerle e comprenderle. È possibile utilizzare queste informazioni per ottimizzare la query DAX per ottenere prestazioni migliori. Ricordare sempre che la cache dei dati restituita dal motore di archiviazione al motore delle formule è in un formato non compresso.

Questa è una query di esempio che verrà utilizzata.

Motore di archiviazione in LuckyTemplates: operatori e query VertiPaq

Se lo esegui e apri la scheda Physical Query Plan, vedrai l' operatore ProjectionSpool . Devi capire come funziona sullo sfondo del calcolo per produrre un risultato.

Motore di archiviazione in LuckyTemplates: operatori e query VertiPaq

Le query del motore di archiviazione sono espresse in un linguaggio pseudo SQL chiamato xmSQL . Non è un vero linguaggio di programmazione. È più una rappresentazione visiva di ciò che il motore sta facendo in background.

Se si esegue la query di esempio in DAX Studio, verrà visualizzato xmSQL. Mostra che la query seleziona la quantità di SalesData e la somma dalla tabella Sales Data .

Motore di archiviazione in LuckyTemplates: operatori e query VertiPaq

Noterai che il nome della tabella nella query è diverso da xmSQL. xmSQL usa Sales Data invece di FactSales come nome della tabella perché DAX non ama usare Fact o DIM come nomi.

Ora, per avere prestazioni DAX più veloci, è necessario lasciare che il motore di archiviazione funzioni il più possibile. Può eseguire semplici operazioni matematiche e aggregazioni durante la scansione dei dati. Poiché la query di esempio utilizza solo , il calcolo è stato eseguito nel motore di archiviazione.

La migliore tecnica di ottimizzazione consiste nell'individuare il set migliore in modo che il motore di archiviazione svolga la maggior parte del lavoro e il motore di formule faccia semplicemente ciò che resta.


VertiPaq Storage Engine in ambiente multi-thread
Compressione e archiviazione VertiPaq in LuckyTemplates
Che cos'è DAX Studio in LuckyTemplates Desktop

Conclusione

Il motore di archiviazione è responsabile della velocità di funzionamento di DAX. Ti consente di vedere il processo alla base dell'intero calcolo con l'aiuto del piano di query logico e fisico. Puoi tenere traccia di quale processo rallenta l'intera performance e quindi ottimizzarlo.

Se vuoi saperne di più su come funziona il VertiPaq, utilizza questo tutorial e fai pratica con l'ottimizzazione dei tuoi codici DAX.


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.