Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
Ti mostrerò come trasformare un codice M per una tabella di date in una query di tabella. Puoi guardare il video completo di questo tutorial in fondo a questo blog.
Considererei il livello di difficoltà di questo tutorial come intermedio perché se hai esperienza con i codici M, sarebbe facile per te seguirlo. Se non hai alcuna esperienza correlata, ti suggerisco di esaminare prima i codici M per rendere più facile la comprensione dei concetti presentati qui.
Sommario
Query sulla funzione richiamata e query sulla tabella delle date
Questa è la query della tabella delle date e la query della funzione richiamata.
Se guardi il riquadro Passaggi applicati sulla destra, c'è solo un passaggio. Mostra la fonte per quella query.
Quindi, se vuoi sviluppare il codice M per questa tabella delle date, dovresti passare dalla funzione alla query della tabella per vedere eventuali modifiche che applichi.
Ciò significa che è più complicato gestire gli errori causati da qualsiasi modifica apportata. Porterà a un errore nella query della tabella stessa, quindi dovresti cercare tra le righe di codice per correggere l'errore.
La pagina successiva mostra la query data che restituisce una tabella anziché una funzione.
Guardando i passaggi applicati sulla destra, vedrai che ci sono più passaggi elencati questa volta.
Ciò significa che mentre sviluppi il codice M della tabella delle date, vedrai immediatamente i risultati delle tue modifiche in questa query della tabella.
Ancora più importante, ogni volta che la tua modifica genera un errore, puoi facilmente identificare il passaggio che ha causato l'errore. Questo rende più facile risolvere il problema.
Applicazione del codice M
Il codice M della tabella delle date può essere trovato nel forum di LuckyTemplates. È sotto l'argomento Funzione M Power Query tabella dati estesa all'interno di M Code Showcase.
Il codice M è tutto in alto. Metto in evidenza l'intero codice e lo copio.
Quindi, creerò una nuova query vuota.
Aprirò il mio editor avanzato e incollerò quel codice.
Poiché vedo che non sono stati rilevati errori, clicco su Fine.
Fammi rinominare questo e chiamarlo Date.
Questa query restituisce una funzione, ma quello che voglio è una tabella.
Per apportare le modifiche necessarie, tornerò nell'editor avanzato.
Conversione della funzione in una tabella
Per fare in modo che questo restituisca una tabella anziché una funzione, avrei bisogno di apportare alcune modifiche al codice M nell'editor avanzato.
Guardando il codice M, posso facilmente vedere almeno due ambienti in base al numero di dichiarazioni let.
Ogni istruzione let ha la sua clausola in, che si trova in fondo.
Potresti pensare che sarebbe più semplice eliminare solo quest'ultima clausola per trasformarla in una tabella.
Ma non ho intenzione di farlo. Invece, lo commenterò aggiungendo due barre davanti all'ultima frase.
Lo farò anche per la prima dichiarazione let. Questo lo rende inattivo.
Sotto l'istruzione let interna, creerò una sezione per dichiarare i miei parametri perché devo ancora passare quei parametri a questo codice.
Segnerò dove queste variabili dovrebbero essere dichiarate.
Ora copio la prima variabile dall'istruzione let esterna e la incollo nello spazio.
Nel mio set di dati, i dati storici non vanno oltre il 2017. Quindi, per passare il valore alla variabile StartDate, posso usare la data intrinseca. Metto il 1 gennaio, poi chiudo la riga con una virgola.
Quindi copio e incollo la variabile successiva, che è EndDate.
So che EndDate richiederebbe una previsione. Ecco perché voglio che questo EndDate sia sempre la fine del prossimo anno.
Ho già una variabile all'interno del mio codice M per CurrentDate, quindi farò riferimento a quella.
Ancora una volta, userò la data intrinseca. Estrarrò Date.Year e userò CurrentDate come valore dell'anno +1. Voglio anche che la data sia il 31 dicembre.
Ancora una volta, sto finendo quella riga con una virgola.
La variabile successiva è un parametro facoltativo denominato FYStartMonth.
Quindi copio quel nome e lo incollo.
Si noti che una sottolineatura rossa è apparsa sotto FYStartMonth sotto la variabile che ho appena incollato.
Questo perché i loro nomi corrispondono. Non era un problema quando si trovavano in ambienti separati. Ma i nomi delle variabili all'interno di un singolo ambiente devono essere univoci. Ciò significa che devo cambiare il nome della nuova variabile che ho appena incollato.
Invece di chiamarlo FYStartMonth, lo chiamerò FYStartMonthNum.
Non assegnerò un valore a questa variabile, quindi inserirò solo null.
Poiché ho cambiato il nome della variabile, devo anche cambiare il nome ovunque sia stato fatto riferimento a questo parametro.
Tornando alla variabile, chiudo quella riga aggiungendo una virgola alla fine.
Il parametro successivo è l'elenco facoltativo delle festività. Copierò e incollerò anche quello e lo dichiarerò nullo.
La stessa cosa vale per WDStartNum. Lo copio e incollo, quindi lo dichiaro nullo.
Per contrassegnare dove inizia il codice della tabella delle date, aggiungerò un altro commento qui.
Dopo aver premuto Fine, vedrai che la query ora restituisce il tipo corretto.
Ora ho una tabella invece di una funzione.
All'interno del riquadro Applied Steps, posso anche vedere tutti i passaggi che compongono la query.
Se desidero apportare modifiche alla tabella delle date, è abbastanza semplice utilizzare la barra multifunzione per modificare o aggiungere passaggi. Per ogni modifica apportata, vedrò immediatamente anche i risultati nella query.
Trasformare la query della tabella in una funzione
Diciamo che voglio trasformare la query della tabella delle date in una funzione. Si tratta solo di modificare alcune cose all'interno del codice M per invertire le modifiche apportate in precedenza.
Torno nell'editor avanzato e rimuovo le barre prima dell'istruzione let esterna.
Successivamente, rimuoverò le barre prima delle istruzioni in.
Quindi commenterò il blocco variabile che ho aggiunto in precedenza. Quindi aggiungerò una barra e un asterisco qui.
Quindi un asterisco e una barra dopo la variabile block.
Ricordi quando ho cambiato questa riga di codice in precedenza a causa del FYStartMonthNum?
Copierò quella riga di codice. Quindi, aggiungerò una nuova riga e la incollerò.
Eliminerò il primo (che è il punto in cui ho apportato le modifiche al nome della variabile in precedenza).
Poi sul secondo, troverò i nomi delle variabili modificate.
E li ritrasformerò in FYStartMonth.
Dopo aver premuto Fatto, la query della tabella si trasformerà nuovamente in una funzione.
Creazione di una tabella di query di data dinamica in LuckyTemplates: esercitazione sull'editor di query
Creazione di una tabella di data in LuckyTemplates
Impostazione di una data di inizio e di una data di fine dinamiche per le tabelle data di Power Query
Conclusione
Ancora una volta, ti ho mostrato quanto sono convenienti i codici M, specialmente in casi come questi in cui abbiamo convertito una funzione in una query di tabella e viceversa. Finché hai accesso al codice M che abbiamo nel forum LuckyTemplates, puoi usarlo in scenari come questi in futuro.
Puoi anche sfogliare altri codici M che puoi utilizzare in altre situazioni nella vetrina dei codici M sul . È una comunità collaborativa, quindi puoi leggere i commenti per altre idee dai nostri esperti e membri.
Ti auguro il meglio,
Melissa
***** Imparare LuckyTemplates? *****
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