Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
Il terzo pilastro nello sviluppo di LuckyTemplates sono i calcoli DAX. Questa esercitazione contiene una guida DAX completa per principianti che illustra le nozioni di base sulla formattazione e la modifica. Nella discussione sono incluse anche le funzioni DAX usate di frequente.
Sommario
Guida dell'editor DAX
Prima di ogni altra cosa, ecco alcuni suggerimenti dell'editor DAX che devi conoscere:
Usare CTRL + rotella di scorrimento del mouse per aumentare o ridurre le dimensioni del carattere nella finestra dell'editor DAX.
Usa Ctrl + Maiusc + L per aggiornare tutte le istanze di un nome contemporaneamente.
Aggiungere il prefisso " @ " alle tabelle virtuali o ai nomi di colonne temporanee in DAX.
Guida DAX per la formattazione
Il tuo codice DAX deve essere organizzato e facilmente comprensibile per gli utenti.
Non stai solo scrivendo codice per te stesso oggi, ma anche per te stesso in futuro.
È importante sviluppare codici DAX che siano facilmente leggibili e comprensibili da te stesso e da altri sia ora che in un secondo momento.
Non preoccuparti se la modifica e l'organizzazione potrebbero finire per rovinare il tuo codice. I computer sono intelligenti; fintanto che la sintassi è corretta, saranno in grado di interpretare ed eseguire i codici che hai scritto.
Una grande citazione di Marco Russo recita:
Se non è formattato, non è DAX.
Esistono diversi modi per formattare DAX. L'opzione consigliata è l'utilizzo dello strumento DAX Clean Up disponibile su LuckyTemplates Analyst Hub.
Puoi accedere a questo strumento utilizzando questo . Un altro modo è accedere al sito Web LuckyTemplates e quindi selezionare Risorse. Nella parte inferiore della pagina troverai lo strumento DAX Clean Up.
Per usare questo strumento, copiare il codice dall'editor DAX nel file di LuckyTemplates. Incollalo nello strumento DAX Clean Up e quindi fai clic su Formato.
Al termine della pulizia, è possibile incollare nuovamente il codice formattato nel file LuckyTemplates.
Puoi anche modificare il codice all'interno dello strumento.
Commentando in un codice DAX
Quando si ha a che fare con codici DAX complessi, è consigliabile aggiungere commenti. Trarrai grandi benefici da una spiegazione in pseudocodice. Ma ci sono eccezioni.
Commentare è un'attività molto personale. Potrebbero esserci opinioni diverse sul giusto livello di commenti da parte di sviluppatori e utenti. Quindi, ancora una volta, durante la creazione di codici e commenti, è importante prendere in considerazione il modo in cui verranno accettati e compresi dagli utenti o dagli sviluppatori nelle istanze future. Ciò avvantaggerà notevolmente te e l'azienda a lungo termine.
Guida DAX per le variabili
Usa nomi di variabili dettagliati. La chiave è la chiarezza . È importante creare nomi chiari e facilmente comprensibili.
Ancora una volta, i computer sono intelligenti e possono facilmente capire qualunque cosa venga scritta. Quindi ricorda che non stai scrivendo per il computer o per LuckyTemplates; stai scrivendo per te stesso e per chiunque utilizzerà e gestirà il tuo codice nei mesi successivi.
Quando si usano le variabili nel codice DAX, è consigliabile usare un prefisso prima del nome di una variabile per assicurarsi di scegliere la variabile corretta nelle righe successive. Il carattere di sottolineatura ( _ ) è un prefisso consigliato da utilizzare. Questo aiuta anche a ridurre l'elenco presentato nella funzionalità IntelliSense in LuckyTemplates.
Ecco un esempio:
Puoi vedere che quando viene digitato il carattere di sottolineatura, vengono presentate solo due scelte. Il numero di scelte è notevolmente ridotto, il che migliora l'efficienza durante la codifica.
Un'altra best practice consiste nell'utilizzare il costrutto RETURN Result .
Ciò semplifica lo sviluppo incrementale e il debug dei codici DAX.
Qualificazione dei calcoli DAX
Quando si usano le colonne nelle espressioni DAX, è necessario essere specifici perché è possibile avere lo stesso nome di colonna in più tabelle.
Ad esempio, potrebbe verificarsi una colonna Chiave cliente nelle tabelle Clienti e Vendite.
Sebbene spesso significhino la stessa cosa e contengano gli stessi dati, non sarà sempre così. Per ottenere i risultati desiderati, dovresti sempre qualificare i nomi delle colonne.
Inoltre, è necessario assicurarsi che le misure non siano legate a una tabella. Possono essere spostati da una tabella all'altra, quindi è importante assicurarsi che i nomi delle misure non siano qualificati.
Importanti funzioni DAX da conoscere
1. CALCOLA
è una delle funzioni DAX più importanti in quanto consente di modificare il contesto di un calcolo.
Tuttavia, questa funzione spesso crea confusione non perché sia difficile da usare ma piuttosto a causa del suo nome. Anche se si chiama CALCULATE, in realtà non sta eseguendo un calcolo. Piuttosto, sta cambiando il contesto di un calcolo.
Ad esempio, in questa misura Sales LY, la funzione CALCULATE viene utilizzata per modificare il contesto del calcolo di Total Sales a un anno prima del contesto di valutazione corrente.
2. DATA AGGIUNT
In DAX sono disponibili molte funzioni di time intelligence. I normali codici DAX useranno molto probabilmente le funzioni , e tra molte altre. Ma è una delle funzioni di intelligenza temporale DAX più versatili. E questa funzione dovrebbe essere la tua prima scelta.
Con DATEADD, la stessa sintassi può essere utilizzata per più calcoli, indietro o avanti nel tempo, e per YEAR, QUARTER, MONTH o DAY. Ciò semplifica la creazione di più misure di intelligenza temporale utilizzando copia e incolla con modifiche minori.
3. DIVIDE
La divisione in LuckyTemplates può essere eseguita in molti modi. Il modo più semplice è usare una semplice divisione aritmetica.
Tuttavia, la divisione per zero casi di solito richiede l'esecuzione di test elaborati prima di procedere. Fortunatamente, c'è una funzione DAX che gestisce questo per te.
La funzione gestisce automaticamente i casi di divisione per zero e consente inoltre di aggiungere un risultato alternativo. Poiché questa è più semplice della divisione aritmetica in LuckyTemplates, il codice è più leggibile.
4. COMMUTARE VERO
Un altro codice DAX è la logica
Quando hai più condizioni da valutare, questo ti porterà a creare più istruzioni nidificate che sono spesso difficili da leggere e tracciare.
L'istruzione SWITCH TRUE offre flessibilità per modificare il codice in una data successiva e per adattare le condizioni a quelle nuove. È anche più compatto, facilitando la lettura.
Guida DAX alle tabelle virtuali
Quando si crea una tabella virtuale nel codice DAX, utilizzare la funzione per raggruppare le colonne in una tabella di base. Quindi, racchiudilo con il costrutto per aggiungere colonne.
Per reiterare, utilizzare il prefisso " @ " sulle colonne utilizzando la funzione ADDCOLUMNS per evitare ambiguità e garantire che la colonna della tabella virtuale scelta sia corretta.
Inoltre, quando si ha a che fare con le tabelle virtuali, è consigliabile usare DAX Studio o l'editor tabulare per assistere l'utente.
Possono esistere molte relazioni tra una coppia di tabelle in LuckyTemplates. Il codice DAX utilizzerà la relazione attiva per impostazione predefinita. Ma può essere modificato per utilizzare una particolare relazione inattiva mediante l'uso del comando .
Ad esempio, potrebbero esistere molte relazioni tra le colonne Data della tabella Date e la tabella Vendite. Vendite [Data ordine] è la relazione attiva mentre Vendite [Data fattura] è la relazione inattiva. Quando si desidera utilizzare le vendite [data ordine] in un calcolo, non è richiesto alcuno sforzo aggiuntivo. Tuttavia, se si desidera utilizzare Sales [Invoice Date] in un calcolo, è necessario utilizzarlo insieme al comando USERELATIONSHIP .
Nella vista del modello in LuckyTemplates, il passaggio del mouse sulla linea continua mostra la relazione attiva. Mentre le due linee tratteggiate mostrano la relazione inattiva tra ciascun elemento nelle due tabelle.
Esaminando il report di esempio, si può anche vedere che c'è una differenza tra la colonna Vendite per data ordine, la colonna Vendite per data fattura e la colonna Vendite per data di spedizione.
Misure Vs colonne calcolate
È un luogo di conforto per chi proviene da sfondi Excel per utilizzare le colonne calcolate in quanto ti consente di vedere i dati. Tuttavia, la procedura consigliata in DAX e LuckyTemplates consiste nell'usare le misure il più possibile.
Esistono alcuni casi in cui vengono utilizzate colonne calcolate. Sono spesso sviluppati come punto di partenza per facilitare la visualizzazione di un calcolo. Ma poi, devi sostituirli successivamente con misure una volta che hai il calcolo completamente visualizzato nella tua testa. Inoltre, le colonne calcolate possono essere utilizzate nei filtri dei dati in contrasto con le misure.
Una misura non aumenta la dimensione fisica del modello di dati mentre viene calcolata; lo fa solo se usato in un oggetto visivo. Una colonna calcolata, tuttavia, aumenta la dimensione fisica del modello di dati perché viene calcolata e archiviata fisicamente ogni volta che il file viene aggiornato.
Guida DAX per misurare la ramificazione
Una delle tecniche più preziose in LuckyTemplates è il branching delle misure .
Un ottimo modo per modularizzare il codice consiste nell'iniziare con misure semplici o di base che eseguono calcoli semplici e quindi combinarle secondo necessità per eseguire calcoli più complessi. Metti le misure di base e intermedie nelle tabelle per vedere i calcoli mentre vengono eseguiti.
Esistono diverse scuole di pensiero su dove dovrebbero risiedere misure specifiche e ci sono pro e contro per tutti i metodi. Ma è più vantaggioso usare un gruppo di misure dedicato nello sviluppo di LuckyTemplates. Se tutte le misure si trovano nella stessa posizione nella parte superiore del riquadro Campi, è più facile tracciare la logica nei calcoli DAX.
Contesto nei calcoli DAX
Uno dei principali punti di forza di LuckyTemplates è il contesto. Ed è anche uno dei concetti più difficili da afferrare per gli sviluppatori.
Il contesto è l'ambiente in cui viene eseguito un calcolo.
Spesso vengono presentati due contesti: contesto di riga e contesto di filtro . Ma in realtà ce n'è un terzo: il contesto valutativo .
E questo ti riporta al comando CALCULATE , che ancora una volta consente all'utente di modificare il contesto di un calcolo. Esistono due classi principali di funzioni in DAX e LuckyTemplates: funzioni di aggregazione e funzioni di iterazione .
Le funzioni di aggregazione sono quelle che aggregano i valori di una singola colonna. Esempi di funzioni di aggregazione includono , e . Mentre la maggior parte delle funzioni di aggregazione funziona solo su valori numerici o di data, MAX e MIN funzionano anche su valori di testo.
Le funzioni di iterazione sono quelle che calcolano un'espressione per ogni riga di una tabella. Sono anche conosciute come funzioni X. Gli esempi includono , , e . Hanno due parametri: la tabella su cui eseguire l'iterazione e l'espressione che esegue il calcolo. Questo può utilizzare più colonne dalla tabella di base o da altre tabelle correlate.
Ecco un breve esempio di come le funzioni di aggregazione e iterazione vengono utilizzate in modo diverso e tuttavia forniscono lo stesso risultato:
Conclusione
Questa guida DAX ha lo scopo di assistere i nuovi utenti di LuckyTemplates che stanno ancora esplorando e imparando. Questo è anche molto utile come elenco di controllo completo per sviluppatori esperti che necessitano di un rapido corso di aggiornamento. Questa esercitazione è un ottimo elemento costitutivo per lo sviluppo avanzato di report in LuckyTemplates.
LuckyTemplates dispone di varie risorse sui tutorial DAX, dalle nozioni di base alla codifica avanzata. Assicurati di dare un'occhiata a loro per essere più esperto con il linguaggio di programmazione DAX.
Greg
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