Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
Voglio concentrarmi oggi su qualcosa che chiamo la trappola DAX nascosta. Se incontri questa situazione, ti farà sentire come se stessi perdendo la testa perché il tuo DAX sembrerà giusto, ma non funzionerà. Ti illustrerò quando ciò si verifica e cosa puoi fare al riguardo e, nel processo, parlerò anche di alcune best practice generali per l'ottimizzazione DAX. Puoi guardare il video completo di questo tutorial in fondo a questo blog.
Diamo prima un'occhiata a ciò con cui stiamo lavorando qui. Abbiamo circa 10 anni di dati dall'Internet Movie Database. Le tabelle dei fatti sono piuttosto semplici e abbiamo dati di valutazione, dati di budget e dati lordi.
Oggi esamineremo gli incassi mondiali.
Abbiamo anche la nostra tabella delle date estesa. Questa sarà un'analisi dell'intelligence temporale basata sulla tabella delle date e sulla tabella dei fatti.
Sommario
Totale mondiale lordo all'anno
Vogliamo fare qualcosa di veramente comune e semplice. Il nostro Total Worldwide Gross è solo una misura di somma aggregata molto semplice, che vogliamo convertire in percentuale.
Per fare ciò, prendiamo il numeratore ( misura Total Worldwide Gross ) e il denominatore ( misura Total Worldwide Gross , ma abbiamo rimosso il contesto dal filtro dell'anno).
Ho usato la perché penso sia più intuitiva quando leggi il codice, ma se preferisci la , funziona altrettanto bene. Basta dividere il numeratore per il denominatore per ottenere il risultato.
Se prendiamo la misura risultante e la inseriamo nella nostra tabella, vedrai che fa esattamente quello che ci aspettiamo che faccia. Otteniamo il 100% in fondo e otteniamo gli anni convertiti nelle loro percentuali individuali. Fin qui tutto bene, e non abbiamo ancora riscontrato alcun problema.
Totale mondiale lordo per trimestre
Diamo un'occhiata a una situazione simile in cui andiamo per trimestre. Questa misura potrebbe essere utile perché ci sono ipotesi che gli incassi della stagione cinematografica estiva siano diversi dall'inizio dell'anno e verso la fine dell'anno che porta alla stagione degli Oscar.
Ancora una volta, abbiamo la stessa identica misura con la funzione REMOVEFILTERS sui numeri del trimestre anziché sull'anno.
E se lasciamo cadere la misura che abbiamo appena fatto nella tabella, fa anche esattamente quello che ci aspettiamo.
Totale mondiale lordo per mese e anno
Diamo un'occhiata al terzo caso, che può essere molto comune, in cui vogliamo guardare per mese e anno.
E ancora, useremo la stessa misura di prima. Ma questa volta rimuoveremo il filtro su mese e anno.
Mettiamolo nel nostro tavolo. All'improvviso non funziona.
Possiamo dire cosa non funziona. Sappiamo che la misura Worldwide Gross funziona, quindi significa che il numeratore va bene, ma il denominatore no. In ciascuno dei casi precedenti, la funzione REMOVEFILTERS ha rimosso correttamente il filtro, ma qui chiaramente non è stato così.
Possiamo effettivamente verificarlo modificando ciò che abbiamo restituito qui nel risultato.
Invece di Risultato, usiamo Denominatore. Tieni presente che questo sarà formattato in percentuale, quindi sembrerà un po' strano.
Quello che dovremmo ottenere per il denominatore è lo stesso numero in ogni riga, ma non lo è.
Possiamo dire che non sta rimuovendo il filtro su mese e anno e pensiamo che sia perché il mese e l'anno sono nel testo.
Ma anche il precedente per trimestre era espresso nel testo, quindi non è semplicemente perché il suo testo. Deve solo essere risolto. Una volta rilasciato il campo senza ordinarlo, verrà ordinato in ordine alfabetico.
Nella tabella delle date estesa, diamo un'occhiata a quel campo chiamato Month & Year . Se lo guardiamo nella colonna Ordina per , vedremo qualcosa di interessante.
Vedremo che quella colonna è ordinata in base a un numero chiamato MonthnYear. Quando si ordina una colonna per un'altra, quella colonna di ordinamento diventa effettivamente parte del contesto del filtro. Questo è ciò che sta rovinando questo calcolo.
Torniamo alla nostra misura e rimuoviamo il contesto del mese e dell'anno che stiamo usando come nostro ordinamento.
Ora stiamo ottenendo esattamente ciò che dovremmo, ovvero il mese e l'anno calcolati come percentuale corretta.
Quando si rimuove un contesto di filtro, saranno necessari due campi per eseguire questa operazione quando viene ordinato . Potresti chiedere che invece di dover fare due campi qui, perché non possiamo semplicemente rimuovere i filtri dall'intera tabella delle date?
La risposta è che possiamo, e questo funzionerà per i tre esempi di cui abbiamo parlato perché ciascuna di queste colonne fa parte della nostra tabella delle date. La rimozione di tutto il contesto del filtro su quella tabella funzionerà per tutti e tre i casi, ma questa è in realtà una cattiva idea.
Come principio generale di ottimizzazione DAX, è necessario rimuovere tutto il contesto del filtro necessario per ottenere il risultato desiderato.
Nella maggior parte dei casi, non lo presenterai in un formato tabulare. Lo presenterai come una matrice e avrai bisogno di una misura più complessa perché hai due granularità diverse nella stessa colonna. Questa misura sembra complicata, ma in realtà non lo è.
Questa è solo un'estensione di ciò che abbiamo già fatto. La prima parte di questo calcolo di ottimizzazione DAX mostra i denominatori per la diversa granularità. Rimuoviamo il contesto del filtro per un mese, per l'anno e per l'intera tabella.
Per la seconda parte del calcolo, abbiamo utilizzato SWITCH TRUE. Per questa funzione, devi passare dal più specifico al meno specifico. Il mese è il nostro ambito più ristretto e specifico, quindi è qui che iniziamo. Dovremo rimuovere il contesto utilizzando quei due campi che abbiamo identificato.
Per l'ambito dell'anno, dobbiamo rimuovere il contesto sull'anno e rimuovere il contesto sull'intera tabella.
Diamo un'occhiata a cosa succede se prendiamo e rimuoviamo il contesto dall'intera tabella delle date . Useremo una misura diversa che rimuove il contesto dall'intera tabella delle date per tutti e tre i casi.
Vedremo che la misura sta rimuovendo eccessivamente il contesto. Invece di calcolare il contributo di ogni mese a quell'anno, calcola il contributo di quel mese all'intero set di dati. Questo non è ciò che vogliamo che accada perché rimuovere il contesto dall'intero tavolo è in realtà solo uno strumento contundente quando è necessario un bisturi.
Conclusione
Ci sono molti casi in cui hai una matrice e devi controllare attentamente quale contesto rimuovi. Rimuovere semplicemente il contesto dall'intera tabella causerà questo tipo di problemi.
Spero che quando si presenterà questa situazione (cosa che invariabilmente accadrà, a un certo punto), la riconoscerai come la trappola nascosta di cui abbiamo discusso in questo post sull'ottimizzazione DAX e sarai in grado di evitarla senza la stessa frustrazione che mi ha causato quando l'ho visto per la prima volta e non riuscivo a capire perché il mio DAX non funzionava correttamente.
Se ti è piaciuto l'argomento relativo all'ottimizzazione DAX trattato in questo particolare tutorial, iscriviti al canale TV LuckyTemplates . Abbiamo un'enorme quantità di contenuti che escono continuamente da me e da una serie di creatori di contenuti, tutti dedicati a migliorare il modo in cui utilizzi LuckyTemplates e Power Platform.
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