Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
In questa esercitazione si apprenderà come funziona la funzione in DAX usando il riquadro Server Timings e il relativo piano di query.
La funzione CROSSJOIN può essere utilizzata per creare un prodotto cartesiano di due tabelle. Un prodotto cartesiano è un insieme di tutte le possibili combinazioni di righe di due o più tabelle.
In questa esercitazione verrà usato il codice DAX riportato di seguito.
Puoi vedere che la funzione CROSSJOIN genera una combinazione del prodotto Brand e Color anche se alcune di queste combinazioni non esistono nella tabella dei fatti . Il risultato è una tabella con un totale di 176 righe.
Nella scheda Server Timings, la prima query recupera il Brand dalla tabella Products, mentre la seconda query recupera il Color.
Nel Logical Query Plan , la prima riga restituisce il risultato sotto forma di tabella. La seconda e la terza riga nella tabella dei prodotti scansionano rispettivamente il colore e il marchio.
Una volta ricevuti i dati, Formula Engine esegue un'iterazione sulla tabella e produce una combinazione di entrambe le colonne. Il CrossApply nella riga 2 corrisponde alla funzione CROSSJOIN.
Sommario
Filtra i risultati CROSSJOIN in DAX
È possibile utilizzare la funzione per filtrare i risultati di un CROSSJOIN. Ad esempio, puoi usarlo per mostrare solo i prodotti che sono rossi.
Tuttavia, ricorda che non puoi inserire una funzione CROSSJOIN all'interno di un argomento FILTER .
Ora, se esegui questo codice e controlli la scheda Server Timings, vedrai che il contesto del filtro non appare come una clausola WHERE nella query.
La funzione CROSSJOIN può essere risolta solo dal Formula Engine . Il codice non funziona poiché si trova tra FILTER e che sono funzioni che possono essere risolte solo da Storage Engine . Pertanto, CROSSJOIN ha causato l'interruzione del ciclo tra queste due funzioni.
Pertanto, è necessario inserire la funzione FILTER all'interno dell'argomento CROSSJOIN affinché il filtro funzioni.
Ora, se esegui questo codice e controlli la scheda Server Timings, vedrai che la funzione FILTER è ora rappresentata dalla clausola WHERE.
Nel piano di query logico, puoi vedere che invece dell'operatore di filtro, viene utilizzato il filtro VertiPaq .
Questo perché la nuova condizione di filtro nel codice può essere trasferita allo Storage Engine. Dopo la restituzione del risultato, l'argomento CROSSJOIN viene quindi eseguito all'interno del motore di formula.
L'operatore IN
È inoltre possibile utilizzare l' operatore anziché il segno di uguale in un argomento FILTER.
L'operatore IN può essere utilizzato all'interno dell'argomento espressione della funzione FILTER per filtrare una tabella in base al fatto che un valore sia contenuto in un elenco di valori o in una tabella.
Quando si usa la combinazione FILTER – IN , il motore DAX deve eseguire un filtro IsEmpty che conferma se il colore del prodotto è rosso o nero.
Aggiungere la colonna delle vendite totali nel risultato CROSSJOIN DAX
Altre funzioni possono essere utilizzate anche insieme a CROSSJOIN.
Puoi usare la funzione per aggiungere un'altra colonna nella tua tabella e quindi scrivere l'argomento delle informazioni che vuoi mostrare.
In questo esempio, aggiungiamo una colonna Total Sales.
Quando esegui il codice, i risultati restituiranno comunque 176 righe. Tuttavia, alcune combinazioni avranno valori vuoti nella colonna Total Sales. Questo perché queste combinazioni non hanno una riga corrispondente nella tabella Sales.
Nella scheda Server Timings, il codice seleziona prima il Brand e il Colore. Somma quindi il prodotto della quantità e del prezzo netto di vendita.
In questo caso, il motore DAX recupera innanzitutto tutte le combinazioni di marca e colore presenti all'interno della tabella Products, insieme a quelle con una riga corrispondente nella tabella Sales. Quindi, recupera separatamente le colonne marca e colore.
Nel Physical Query Plan, puoi vedere due cache di dati; uno per il marchio e un altro per il colore. Quando moltiplichi i loro record totali, ottieni 176 righe.
Quindi, viene eseguita una ricerca su quelle 176 righe per vedere se hanno un valore corrispondente nella tabella Sales. Puoi vedere che solo 111 righe hanno valori. Le altre 65 righe restituiranno spazi vuoti.
Inoltre, se aggiungi più colonne nell'argomento CROSSJOIN, il risultato restituirà anche più righe.
Conclusione
La funzione DAX CROSSJOIN genera una nuova tabella combinando le righe di una tabella con le righe di un'altra. Questa funzione è simile alla clausola CROSS JOIN in SQL e può essere utilizzata per creare query più complesse nel modello di dati.
Può generare un elenco di tutte le possibili combinazioni di valori da due o più tabelle. Può anche essere utilizzato per creare rapidamente una nuova tabella con un numero elevato di righe, che può essere utile per l'analisi dei dati, il test o il benchmarking delle prestazioni.
Nel complesso, la funzione CROSSJOIN è uno strumento utile negli scenari in cui è necessario combinare dati da più tabelle o generare un elenco di tutte le possibili combinazioni.
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