Idee di materializzazione per cache di dati in DAX Studio

Idee di materializzazione per cache di dati in DAX Studio

Questa esercitazione illustrerà la materializzazione per le cache di dati in DAX Studio. Questo post mostrerà come influisce sul tuo calcolo durante la generazione di risultati con la tua query. Imparerai quale materializzazione è migliore per massimizzare le prestazioni di DAX.

Esistono due idee di materializzazione: materializzazione precoce e materializzazione tardiva .

Sommario

Prima materializzazione

La materializzazione anticipata si verifica quando il numero di righe materializzate è maggiore del numero di righe necessarie per l'output.

Se il tuo output è una tabella per anno solare e hai cinque anni di dati, non è necessario portare molte righe materializzate. La best practice consiste nell'avere un numero di righe materializzate uguale al numero di righe necessarie. Tuttavia, non è sempre così perché dipende dalla complessità del tuo DAX e dalla configurazione dei dati.

Ricorda sempre che i dati sono costituiti da colonne. Quindi, quando il motore delle formule deve lavorare su una tabella, le colonne vengono riunite in un formato tabella, che è la materializzazione. In un'idea di materializzazione iniziale, il motore di archiviazione invia la cache dei dati al motore delle formule. Il motore delle formule lavora quindi su quella cache ed esegue processi complessi.

La materializzazione anticipata può essere causata dalla presenza di join complessi o da una relazione molti-a-molti nei modelli di dati. Può anche essere causato dalla presenza di filtri o iteratori complessi.

Non è sbagliato avere misure complesse; devi solo configurarli correttamente per sfruttare il più possibile il motore di archiviazione.

Materializzazione tardiva

La materializzazione tardiva è quando il numero di righe materializzate è uguale o vicino al numero di righe necessarie per l'output.

Il motore di archiviazione fa quasi tutto il lavoro senza lasciare nulla al motore di formula. Questo rende l'intero calcolo più veloce.

Questi sono esempi di query di materializzazione precoce e tardiva:

Idee di materializzazione per cache di dati in DAX Studio

Prima di eseguire queste query, assicurati di svuotare la cache. Questo farà sì che le tue query vengano eseguite sulla cache a freddo. Se esegui DAX senza svuotare la cache, otterrai questo risultato:

Idee di materializzazione per cache di dati in DAX Studio

Il tempo di esecuzione totale è di soli 1861 millisecondi perché utilizzava già una cache. Quindi svuota sempre la cache prima di eseguire le query.

Se esegui la query Early Materialization, puoi vedere che il tempo totale impiegato è di 9485 millisecondi. Ha generato una cache di dati e un output di una riga, ma ha restituito 25 milioni di righe.

Idee di materializzazione per cache di dati in DAX Studio

Non è necessario materializzare 25 milioni di righe per ottenere un risultato di una riga perché richiede tempo e rallenta le prestazioni di DAX.

Se esegui la query Late Materialization, puoi vedere che l'intero calcolo ha richiesto solo 1340 millisecondi. Ha anche generato 2 cache di dati, ognuna delle quali ha restituito 5003 righe.

Idee di materializzazione per cache di dati in DAX Studio

Se guardi il Physical Query Plan, puoi vedere 5000 righe. Non hanno lo stesso numero di righe. Il risultato dei tempi del server a volte avrà una piccola discrepanza rispetto al numero esatto di righe nel piano di query.

Idee di materializzazione per cache di dati in DAX Studio

Quindi, lavorando su una cache di dati con 25 milioni di righe, ora hai due cache di dati con 5003 righe. Ecco perché lavorare con la materializzazione successiva ottiene risultati più rapidi rispetto alla materializzazione iniziale.

All'interno di ogni query di materializzazione

Osservando semplicemente la query, puoi già vedere che la materializzazione successiva è più veloce. La query Early Materialization conta le righe di una tabella di riepilogo.

Idee di materializzazione per cache di dati in DAX Studio

La tabella che viene riepilogata e materializzata è più grande di un semplice di sulla tabella, che è ciò che sta facendo la query Late Materialization.

Se la tua query è lenta, inizia osservando quante righe vengono estratte nella tua query e quante sono necessarie per l'output. Puoi anche andare al Logical Query Plan e seguire il flusso di lavoro che sta avvenendo all'interno del calcolo.


Che cos'è DAX Studio in LuckyTemplates Desktop
Esercitazione su DAX: contesto e
misura del motore di calcolo in LuckyTemplates: suggerimenti e tecniche per l'ottimizzazione

Conclusione

La materializzazione si verifica quando le query estraggono colonne o righe dal modello di dati. Questo processo avviene naturalmente quando il tuo motore ottiene i dati dal tuo modello di dati per fornire risultati per la tua query.

Tuttavia, possono verificarsi problemi se DAX estrae un numero di righe eccessivo rispetto a quello necessario per il risultato. Questo problema può essere risolto semplificando il DAX per eseguire processi specifici.


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

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 blog tratterà anche come importare oggetti da R a LuckyTemplates.

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.

Mostra approfondimenti utilizzando la tecnica di visualizzazione dinamica multi-thread in LuckyTemplates

Mostra approfondimenti utilizzando la tecnica di visualizzazione dinamica multi-thread in LuckyTemplates

Questo tutorial illustrerà come utilizzare la tecnica di visualizzazione dinamica multi-thread per creare approfondimenti dalle visualizzazioni di dati dinamici nei report.

Introduzione al filtraggio del contesto in LuckyTemplates

Introduzione al filtraggio del contesto in LuckyTemplates

In questo articolo, esaminerò il contesto del filtro. Il contesto del filtro è uno degli argomenti principali che qualsiasi utente di LuckyTemplates dovrebbe inizialmente conoscere.

I migliori suggerimenti per lutilizzo delle app nel servizio online LuckyTemplates

I migliori suggerimenti per lutilizzo delle app nel servizio online LuckyTemplates

Voglio mostrare come il servizio online di LuckyTemplates Apps può aiutare nella gestione di diversi report e approfondimenti generati da varie fonti.

Analizza le variazioni del margine di profitto nel tempo: analisi con LuckyTemplates e DAX

Analizza le variazioni del margine di profitto nel tempo: analisi con LuckyTemplates e DAX

Scopri come elaborare le modifiche al margine di profitto utilizzando tecniche come la ramificazione delle misure e la combinazione di formule DAX in LuckyTemplates.

Idee di materializzazione per cache di dati in DAX Studio

Idee di materializzazione per cache di dati in DAX Studio

Questo tutorial discuterà delle idee di materializzazione delle cache di dati e di come influiscono sulle prestazioni dei DAX nel fornire risultati.

Reporting aziendale tramite LuckyTemplates

Reporting aziendale tramite LuckyTemplates

Se finora utilizzi ancora Excel, questo è il momento migliore per iniziare a utilizzare LuckyTemplates per le tue esigenze di reportistica aziendale.

Che cosè il gateway LuckyTemplates? Tutto quello che devi sapere

Che cosè il gateway LuckyTemplates? Tutto quello che devi sapere

Che cos'è il gateway LuckyTemplates? Tutto quello che devi sapere