Come utilizzare una funzione di iterazione in LuckyTemplates

Questo tutorial ti insegnerà le diverse funzioni di iterazione e come utilizzarle in modo efficiente nei tuoi calcoli.

Discuto spesso di come le colonne calcolate non siano necessarie quando si eseguono alcuni calcoli. Ciò è dovuto agli iteratori.

Gli iteratori o le funzioni di iterazione possono aiutarti a eseguire un calcolo senza inserire fisicamente i risultati nella tabella.

Questa tecnica consente di risparmiare sulla memoria necessaria per caricare il modello di dati di LuckyTemplates . Nelle prossime sezioni, ti mostrerò come ottimizzare i tuoi calcoli usando gli iteratori.

Sommario

Calcolo delle vendite totali utilizzando una funzione iteratore

Per iniziare, crea una nuova misura per Total Costs . Assicurati di selezionare il gruppo di misure in cui desideri inserire questa nuova misura.

Premi Maiusc e Invio per spostarti in basso di una riga prima di inserire la prima funzione di iterazione, che è .

Nella barra della formula di LuckyTemplates, puoi già vedere esattamente cosa devi mettere dopo la funzione come suggerito da IntelliSense. Per SUMX , devi aggiungere una tabella dopo di essa.

La formula SUMX eseguirà la logica in ogni singola riga della tabella data. Questo è il motivo per cui gli iteratori sono associati al contesto di riga . All'interno della misura, gli iteratori possono trasformare la formula in un contesto di riga.

Dovrai fare riferimento alla tabella Sales dopo la funzione SUMX . Per calcolare i costi totali, devi moltiplicare Order Quantity per Total Unit Cost .

Non è necessario fare riferimento alla nuova colonna che è stata creata. I costi totali sono una misura e posso inserirli nella mia tabella per valutare i nostri costi totali.

Ora trascina la misura all'interno della tabella per vedere i risultati. Assicurati di aver selezionato un contesto iniziale dal filtro Città .

Possiamo modificare il contesto iniziale del nostro calcolo facendo clic sulle diverse regioni che vogliamo esaminare.

I costi totali funzionano in modo simile in termini di contesto iniziale. Il contesto iniziale viene applicato alla tabella Sales, ma poi all'interno di ciascuno di questi singoli risultati viene calcolata la quantità dell'ordine moltiplicata per il costo unitario totale.

Dietro le quinte nel nostro modello di dati, abbiamo attivato il nostro filtro e abbiamo un contesto proveniente dalla nostra tabella Regioni e un altro contesto proveniente dalla nostra tabella Data. Questi scorrono nella nostra tabella Sales, che viene filtrata dalla funzione di iterazione SUMX.

Poiché la funzione SUMX valuta virtualmente ogni singola riga della tabella Sales , non è necessaria una colonna fisica per i risultati.

Dopo il contesto iniziale, SUMX ottiene il prodotto di Order Quantity e Total Unit Cost per ogni singola riga. Infine, valuta tutti i risultati calcolati da tutte le righe.

Se hai notato, la colonna Costi originale è stata creata tramite una colonna calcolata. Come ho detto, non è necessario poiché gli iteratori possono già svolgere il proprio lavoro. Puoi eliminarlo perché può occupare memoria non necessaria nel tuo modello.

Le formule di iterazione eseguono valutazioni su ogni singola riga, mentre le formule di aggregazione no.

Questo è un semplice esempio, ma puoi essere più avanzato qui e scrivere istruzioni IF e istruzioni SWITCH. Inoltre, non è necessario creare una tabella fisica; puoi invece usarne uno virtuale.

Molte di queste informazioni sono trattate in modo approfondito nel corso Mastering DAX , ma questo è solo per mostrarti l'inizio delle funzioni di iterazione e come iniziare a usarle quando è appropriato.

Se senti la necessità di creare una colonna calcolata all'interno della tua tabella dei fatti, posso quasi garantire che una funzione di iterazione farà il lavoro per te.

Uso di altre funzioni dell'iteratore DAX

Ora, ti mostrerò un altro esempio di come gli iteratori possono fare miracoli sul tuo calcolo. Questa volta calcoliamo il costo medio.

Basta copiare la formula Costi totali e incollarla in una nuova misura. Devi solo cambiare il nome in Costi medi e quindi utilizzare invece di SUMX .

La nuova formula esegue una logica simile perché valuta ogni singola riga della tabella Sales . Inoltre, è ancora necessario ottenere il prodotto di Order Quantity e Total Unit Cost . L'unica differenza qui è invece della somma, la formula calcola la media.

Ora, se porti la misura dei costi medi nella tabella, puoi vedere come si confronta con la misura dei costi totali .

È incredibile come puoi eseguire una logica simile semplicemente cambiando la funzione di iterazione.

Ulteriori tecniche di ottimizzazione dei dati 

Per ottimizzare la tua tabella, puoi eliminare le informazioni ridondanti come la colonna Entrate totali .

Dal momento che puoi ottenere facilmente i costi medi, non avrai più bisogno della colonna Entrate totali nella tua tabella. Finché hai le colonne Prezzo unitario e Costo unitario totale , va tutto bene.

Ora puoi invece creare una nuova misura per Total Sales (Iteration) utilizzando la funzione SUMX . Devi solo fare riferimento alla tabella Sales , quindi ottenere il prodotto di Order Quantity e Unit Price .

Successivamente, puoi confrontare i risultati nelle colonne Total Sales e Total Sales (Iteration) . Entrambi hanno gli stessi risultati, giusto?

In termini di prestazioni, non c'è molta differenza tra l'utilizzo di colonne calcolate e iteratori. Ma quando si tratta del modello di dati, una funzione iteratore può eliminare un'intera colonna e risparmiare centinaia di righe di dati.

Inoltre, è possibile eliminare le colonne ridondanti perché gli iteratori possono calcolare virtualmente i risultati necessari. Questa pratica renderà il tuo tavolo molto più sottile e il tuo modello molto più veloce. Assicurati di applicare questa tecnica di ottimizzazione nei tuoi calcoli.

Conclusione

Per riassumere, una funzione di iterazione valuta ogni singola riga mentre gli aggregatori no.

La lettera X alla fine della funzione facilita l'identificazione degli iteratori. Gli esempi includono le funzioni SUMX , AVERAGEX , , e altro ancora.

L'utilizzo di funzioni di iterazione non creerà tabelle fisiche aggiuntive . Questo può aiutarti a risparmiare memoria in LuckyTemplates.

Gli esempi per SUMX e AVERAGEX che ho trattato sono scenari semplici. In seguito, entreremo in quelle più avanzate aggiungendo istruzioni IF e istruzioni SWITCH .

Ti auguro il meglio!


Funzioni DAX in LuckyTemplates: utilizzo di iteratori
Funzioni di iterazione nel linguaggio DAX: un esempio dettagliato
Utilizzo delle funzioni di iterazione in DAX

*****







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