Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
Ti mostrerò come utilizzare la funzione offset in LuckyTemplates . È uno degli strumenti più dinamici che puoi utilizzare soprattutto nelle tabelle delle date.
Una volta imparato come applicarlo nei tuoi progetti di intelligenza temporale, puoi ottenere approfondimenti più approfonditi che non otterrai utilizzando nessun altro approccio. Puoi guardare il video completo di questo tutorial in fondo a questo blog.
Sommario
Comprensione dei meccanismi della funzione offset
Inizierò mostrandoti i meccanismi della funzione offset.
Gli offset mostrano la differenza tra la data odierna e le altre date nei tuoi dati.
Come puoi vedere nella mia tabella delle date di seguito, mi sono concentrato su Trimestre e anno in modo da poter vedere l'effettivo movimento dei dati.
La riga viola mostra il periodo corrente . Si noti che il periodo corrente ha sempre un valore di offset pari a 0 .
Al di sopra, in giallo, sono mostrati tutti i dati provenienti dal passato . Vedrai che le cifre qui sono 0 o inferiori a 0, rappresentate dai dati negativi .
Ciò significa che per i dati dal futuro , questi mostreranno valori positivi . A seconda della granularità della colonna, può contenere anche uno 0 .
Quindi cosa rende potenti gli offset?
Gli offset possono essere numeri sequenziali che rappresentano la differenza tra diversi dati nella tabella . Ma ciò che rende grandi gli offset è che non hanno confini .
Ad esempio, i trimestri andranno da 1 a 4, rappresentando i 4 trimestri in un anno. I mesi vanno da 1 a 12 mentre le settimane possono andare da 1 a 52 o 53, a seconda dell'anno. Ma una volta raggiunto l'ultimo numero, devo ricominciare da capo.
Questo non è il caso degli offset. Quando si tratta di offset, mostreranno sempre una posizione relativa alla data corrente e all'altra data a cui si fa riferimento .
Quindi ogni volta che la tabella delle date viene aggiornata, viene aggiornata anche la logica che fa funzionare gli offset. Ciò significa che nella tabella delle date verrà visualizzato anche un valore aggiornato.
Esempio Di Una Colonna Offset Settimana
Per darti un'idea più chiara di come funziona la funzione offset, ti darò un esempio di come viene applicata.
Nei miei dati di esempio, mostra la data odierna come 24 aprile 2020 .
Ancora una volta, i principi di offset affermano che il periodo corrente è rappresentato da 0, i dati futuri sono rappresentati da valori positivi e i periodi passati sono rappresentati da numeri negativi .
Ho anche un'affettatrice sulla mia pagina che contiene il valore WeekOffset. Attualmente mostra tutti i valori da -53 a 0, con 0 che rappresenta la settimana corrente .
Il 24 aprile (che è oggi) cade nella settimana 17 .
Questa tabella estesa delle date copre solo i numeri delle settimane ISO . Ciò significa che le settimane iniziano di lunedì . Questo significa anche che una settimana conterrà sempre 7 giorni .
Ma ci sono molti requisiti settimanali personalizzati che non seguono la stessa logica. Puoi scoprire di più su questi casi in vari argomenti trattati nel forum di LuckyTemplates.
Inoltre, potresti prendere in considerazione l'utilizzo di Mese e anno invece di Settimana e anno se ciò si applica meglio alla tua situazione.
Tornando ai dati di esempio, potresti aver notato che i valori WeekOffset si trovano in un perfetto intervallo di numeri sequenziali .
Questo perché condividono la stessa granularità dappertutto . Non sono presenti valori duplicati e valori mancanti.
Naturalmente, la misura Total Sales utilizzata qui viene eseguita nel solito modo, con un semplice su Sales for the Quantity moltiplicato per Price . Quindi, tutto viene aggregato per ottenere un valore settimanale.
Ma cosa succede se voglio vedere solo le ultime 4 settimane di saldi?
Devo solo cambiare la mia affettatrice in un intervallo da -3 a 0 .
Ora, la mia tabella mostra solo le ultime quattro settimane di vendite.
Quindi mentre mi muovo nel tempo, la mia tabella delle date viene aggiornata. La stessa cosa accade se i nuovi risultati di vendita vengono caricati nella tabella dei fatti.
Utilizzo degli offset in DAX
Questa volta verrà illustrato come utilizzare la funzione offset nelle misure DAX.
Ho una tabella con la settimana e l'anno e le vendite totali .
Quindi, se voglio calcolare le vendite della settimana precedente senza compensazioni, dovrei prima estrarre qual è il numero CurrWeek , quindi controllare qual è il valore CurrYear .
Se devo saltare oltre il limite di un anno, dovrò calcolare qual è il Weeknumber per l'ultimo anno.
Da lì, userei SUMX come funzione di iterazione sulla tabella delle date. Dovrei anche controllare se CurrWeek è la settimana numero 1 .
Se non è la settimana 1, devo solo sottrarre 1 dal valore CurrWeek per CurrYear . Successivamente, le vendite totali possono finalmente essere riassunte .
Guardando la tabella qui sotto, puoi ora vedere che tutti i valori sono perfettamente aggregati. I valori visualizzati in Total Sales vengono semplicemente riportati alla settimana successiva.
Anche se supero il limite di un anno dal 2017 al 2018, lo schema non si interrompe. Le vendite totali dell'ultima settimana del 2017 sono ancora perfettamente calcolate per la settimana numero 1 del 2018.
Questa volta, eseguirò lo stesso calcolo, ma con gli offset della tabella delle date applicati.
Ecco come appare quella misura quando uso gli offset.
Quindi, per ottenere il valore PrevWeek , devo solo fare riferimento al WeekOffset selezionato e sottrarre 1.
Quindi, utilizzerò la funzione per le vendite totali in le date in cui WeekOffset è uguale al valore PrevWeek .
Guardando i risultati, i risultati sembrano essere perfetti, anche nel passaggio dal 2017 al 2018.
Il problema, tuttavia, è nel Total . Evidentemente, questo non è il valore corretto.
Ecco come lo risolverò.
Innanzitutto, tieni presente che la colonna Settimana e anno è in ordine crescente .
Lo cambierò e ordinerò invece la colonna in ordine decrescente , con 2020 in alto.
Poiché non esiste alcun contesto proveniente da Week & Year , non identifica il valore di offset della settimana corrente ma sottrae comunque 1 . Ma quello che posso fare è applicare un totale cumulativo per regolare il totale .
Ecco come sarà la misura:
L'inizio della battuta non cambia. È esattamente uguale alla misura precedente che ho applicato.
Ma poiché ho bisogno di utilizzare uno schema simile ai totali cumulativi, devo utilizzare la funzione CALCULATE nella prima settimana sulle date con 1 sottratto da essa.
Devo anche identificare il valore MAX WeekOffset dalle date ALLSELECTED e sottrarre uno anche da quello.
Quindi, utilizzerò nuovamente la funzione CALCULATE per Total Sales . Userò la funzione per includere ALL Dates . Il valore WeekOffset deve essere maggiore o uguale a FirstWeek e minore o uguale a LastWeek .
Ancora una volta, questo segue il modello di base per i totali cumulativi.
Quindi posso procedere al controllo del totale complessivo utilizzando i modelli .
Quindi SE la settimana e l'anno ISINSCOPE , mi aspetto che i risultati mostrino le LWSales . Ma se non lo è, mi aspetto che venga visualizzato LWTotal .
Quindi, se torno alla mia tabella, ora mostrerà il totale corretto.
Scostamenti per settimane specifiche
Consentitemi di tornare all'esempio che ho utilizzato in precedenza in cui ho filtrato i dati per mostrare solo le ultime quattro settimane.
Se entro nella misura, posso ottenere gli stessi risultati usando gli offset. Ecco come sarebbe.
Dovevo solo identificare il valore WeekOffset corrente per il contesto proveniente dalle righe.
Una volta ottenuto ciò, posso applicare la funzione CALCULATE sulle vendite totali di TUTTE le date in cui WeekOffset è maggiore o uguale a ThisWeek meno 3 o minore o uguale al valore di ThisWeek .
Questo restituisce esattamente lo stesso valore dell'esempio che sto cercando di replicare.
Totali cumulativi basati sulla media mensile dei risultati in LuckyTemplates
Normalizzazione dei dati in LuckyTemplates per i risultati di diversi giorni
Creazione di una tabella di date completa in LuckyTemplates davvero veloce
Conclusione
Gli esempi che ti ho mostrato sopra dimostrano quanto siano realmente gli offset dinamici. Puoi usarli in filtri, sezioni e persino nei calcoli DAX.
Gli offset possono essere utilizzati anche nelle tabelle di date estese per settimane, mesi, trimestri, anni e anni fiscali. Offrono molta flessibilità e possono facilmente aiutarti a ottenere i risultati desiderati.
Continua a giocare con gli offset e vedi quali altri usi puoi avere per loro. Puoi anche controllare il per altri casi in cui la funzione offset si è rivelata utile.
Ti auguro il meglio,
Melissa
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