Power Automate si applica a ogni azione nei flussi di lavoro
Scopri l
In questo tutorial imparerai una tecnica di ottimizzazione DAX utilizzando la funzione UNION. Questa esercitazione confronterà le prestazioni della funzione UNION rispetto a Power Query e altre tecniche per combinare le tabelle.
La funzione combina due tabelle in un'unica tabella combinando le loro righe e rimuovendo eventuali righe duplicate.
L'esempio in questa esercitazione è una tabella Sales suddivisa in tre tabelle per ogni anno (2007, 2008, 2009).
Sommario
La funzione UNION in DAX
Aprire DAX Studio e avviare Server Timings and Query Plan.
Il codice DAX riportato di seguito viene utilizzato come esempio:
Dopo aver eseguito il codice, vai alla scheda Server Timings . Puoi vedere che il codice richiede un totale di 5,4 secondi per essere eseguito. La maggior parte del tempo di esecuzione è stata spesa nello Storage Engine . Ognuna di queste tre query contiene la stessa operazione, ma gli anni sono diversi.
Dopo che queste tre query sono state restituite dallo Storage Engine, il Formula Engine esegue un'UNION, che può essere visualizzata nel Logical Query Plan. Il piano di query esegue anche un per calcolare le vendite totali.
Nel Physical Query Plan, puoi vedere le tre cache di dati contenenti le operazioni eseguite per ogni anno nella tabella Sales.
Confronto delle prestazioni DAX
Per creare il confronto, creiamo una misura per Total Sales utilizzando la tabella Sales originale.
Se esegui questo codice e vai alla scheda Server Timings , puoi vedere che questo è significativamente più efficiente della funzione UNION.
La funzione UNION consuma 97,9 kilobyte mentre la nuova misura consuma solo 1 KB.
Quando usi UNION, il motore DAX restituisce un'enorme quantità di cache di dati al motore di formula. Questo mette molta pressione sulla RAM.
Quindi, se hai a che fare con un modello di dati contenente più di un milione di righe, non è consigliabile utilizzare la funzione UNION
Alternative alla funzione UNION DAX
Invece di utilizzare UNION, puoi utilizzare tre funzioni SUMX per questo esempio. Ovvero, una funzione SUMX per ogni anno.
Quando esegui questo codice e vai alla scheda Server Timings, puoi vedere che il tempo di esecuzione è significativamente inferiore. È passato da 5.400 ms a 33 ms durante l'esecuzione di tre diverse query.
Un altro modo consiste nell'accodare la tabella del modello di dati in Power Query o nell'origine dati stessa.
Ma l'opzione migliore è creare una tabella calcolata che eseguirà l'unione di queste tre tabelle. Ma questa opzione ha i suoi pro e contro.
L'uso di una tabella calcolata consente di risparmiare il tempo di elaborazione complessivo rispetto all'esecuzione di un'aggiunta in Power Query. Tuttavia, ciò causerà un aumento delle dimensioni del database in VertiPaq.
Quando utilizzi una tabella calcolata, crei una nuova tabella che combina le tre tabelle. Ma queste tre tabelle divise continueranno a rimanere nel database.
In questo esempio, le tre tabelle consumano un totale di 25 MB. Se crei una tabella calcolata, consumerà altri 25 MB nella tua RAM.
Per casi delicati come questi, è necessario prendere una decisione ponderata su quale sarebbe la migliore linea d'azione da intraprendere.
Conclusione
La funzione UNION in DAX combina due tabelle in una, semplificando l'analisi dei dati. Funziona prendendo due tabelle come input e restituendo una nuova tabella che contiene tutte le righe di entrambe le tabelle di input. Tuttavia, questa funzione ha i suoi limiti.
La funzione UNION può essere più lenta di altri metodi di combinazione dei dati, soprattutto se le tabelle di input sono di grandi dimensioni. Può anche consumare più spazio nella memoria rispetto ad altre alternative.
Ogni volta che una situazione richiede la combinazione di tabelle, è importante valutare i pro ei contro prima di decidere di utilizzare la funzione UNION. Le tue alternative includono la funzione SUMX, una tabella del modello di dati o una tabella calcolata.
Ti auguro il meglio,
Scopri l
Tecniche di modellazione dei dati per organizzare meglio le misure DAX per un flusso di lavoro più efficiente.
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
Acquisisci familiarità con i connettori Power Automate per la manipolazione di numeri, testo e date/ore.
Ora, è molto facile studiare il budget rispetto all
Imparerai come salvare e caricare oggetti da un file .rds in R. Questo articolo tratta anche come importare oggetti da R a LuckyTemplates.
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
In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.