Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
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,
Cos'è il sé in Python: esempi del mondo reale
Imparerai come salvare e caricare oggetti da un file .rds in R. Questo blog tratterà anche come importare oggetti da R a LuckyTemplates.
In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.
Questo tutorial illustrerà come utilizzare la tecnica di visualizzazione dinamica multi-thread per creare approfondimenti dalle visualizzazioni di dati dinamici nei report.
In questo articolo, esaminerò il contesto del filtro. Il contesto del filtro è uno degli argomenti principali che qualsiasi utente di LuckyTemplates dovrebbe inizialmente conoscere.
Voglio mostrare come il servizio online di LuckyTemplates Apps può aiutare nella gestione di diversi report e approfondimenti generati da varie fonti.
Scopri come elaborare le modifiche al margine di profitto utilizzando tecniche come la ramificazione delle misure e la combinazione di formule DAX in LuckyTemplates.
Questo tutorial discuterà delle idee di materializzazione delle cache di dati e di come influiscono sulle prestazioni dei DAX nel fornire risultati.
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