GroupBy in LuckyTemplates: una funzione implicita in VertiPaq

Questo tutorial discuterà del motore di archiviazione e di GroupBy implicito in LuckyTemplates. Imparerai cosa sta succedendo dietro la performance e vedrai potenziali colli di bottiglia. Ciò ti consentirà di creare idee e strategie per mitigare tali problemi per prestazioni DAX più veloci.

Le query del motore di archiviazione sono espresse in un linguaggio chiamato xmSQL. Non è un vero linguaggio di programmazione ma una rappresentazione visiva di ciò che sta facendo il motore di archiviazione. Consente agli utenti di vedere cosa sta facendo il calcolo in background durante l'esecuzione di varie query.

Sommario

GroupBy implicito in LuckyTemplates

La prima cosa che devi guardare è il GroupBy implicito che si trova in ogni xmSQL.

Questa è una query di esempio che ha la funzione EVALUATE e VALUES:

GroupBy in LuckyTemplates: una funzione implicita in VertiPaq

La query ottiene tutti i valori per l'anno dalla tabella DimCalendar. Puoi vedere che ha restituito 10 righe di dati.

GroupBy in LuckyTemplates: una funzione implicita in VertiPaq

Il processo viene mostrato nell'istruzione SQL in cui la query seleziona l'anno di calendario da DimCalendar e quindi lo raggruppa per anno. L'istruzione implicava una funzione GroupBy nel calcolo perché non c'è nient'altro nella query. GroupBy implicito è più evidente quando si utilizzano le aggregazioni.

Aggregazioni all'interno di Storage Engine

Per avere un'idea di cosa sia l'aggregazione, passare a DAX Studio e attivare Server Timings and Query Plan. Successivamente, esegui questa misura di esempio:

GroupBy in LuckyTemplates: una funzione implicita in VertiPaq

Dopo aver eseguito la query, puoi vedere che, a differenza della precedente query di esempio che ha una scansione, questa misura ne ha due. Questo perché il primo esempio ha solo i valori di DimCalendar Year. Questa query di esempio ha l'anno di calendario e un'aggregazione.

GroupBy in LuckyTemplates: una funzione implicita in VertiPaq

La prima scansione è la query effettiva.

GroupBy in LuckyTemplates: una funzione implicita in VertiPaq

Seleziona DimCalendar Year e somma la Sales Quantity dalla tabella Sales Data, che segue le relazioni del modello di dati.

GroupBy in LuckyTemplates: una funzione implicita in VertiPaq

Nel modello di dati, la tabella DimCalendar segue la colonna Purchase Date della tabella Fact fino alla colonna Date della tabella Calendar.

La seconda scansione assicura che tutti i valori mancanti vengano presi in considerazione.

Puoi vedere nei risultati che l'importo delle vendite appare solo dal 2015 al 2018. Tuttavia, mostra ancora gli anni dal 2012 al 2014 anche se sono vuoti.

GroupBy in LuckyTemplates: una funzione implicita in VertiPaq

Conclusione

Il motore di archiviazione in DAX Studio mostra l'intero processo alla base di un calcolo. Ti consente di monitorare ogni funzione e vedere possibili hit che potrebbero rallentare le prestazioni del tuo DAX. Con tali informazioni, puoi creare soluzioni per mitigare potenziali colli di bottiglia nell'esecuzione del tuo codice DAX.

Se il tuo DAX è lento, guarda lo storage engine e scopri cosa puoi fare per migliorare le prestazioni del tuo report.


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








Leave a Comment

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.