Funzione M per la tabella delle date: come aggiungere un parametro nelleditor di query

Funzione M per la tabella delle date: come aggiungere un parametro nelleditor di query

Ti mostrerò come aggiungere un parametro nella funzione M nella query della tabella delle date . Questo esempio si basa su una domanda che è stata sollevata sul . Puoi guardare il video completo di questo tutorial in fondo a questo blog.

La domanda riguardava come cambiare la numerazione del primo giorno della settimana da 0 a 1 . Si noti che questo non cambia l'inizio effettivo del giorno della settimana. In questa tabella di date, l'inizio della settimana sarà sempre il lunedì. Si tratta solo di riferirsi al lunedì come al giorno 1 anziché al giorno 0.

Questo processo non è necessariamente complesso, ma è necessaria una comprensione di base di come è strutturato il linguaggio M. Se sei un membro di LuckyTemplates, puoi dare un'occhiata al . L'introduzione tocca l'argomento.

Sommario

La funzione M e la tabella della data estesa

Permettetemi di iniziare andando in Power Query . Ho già copiato qui la funzione M della tabella delle date .

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Ho ottenuto la funzione M dalla categoria M Code Showcase nel forum LuckyTemplates . Il codice si trova nell'argomento .

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Se apro l' Advanced Editor , questo è il codice.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

C'è un sacco di codice M lì dentro, che potrebbe distrarre.

Creazione di una query di prova

Poiché c'è troppo da fare all'interno della funzione M, inizierò invece con una nuova query vuota .

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Chiamerò questa Query di prova .

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Successivamente, aprirò l' Editor avanzato .

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Poiché creerò una funzione, aggiungerò un paio di parentesi ed eliminerò tutto il codice predefinito.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Per avviare la funzione, dichiarerò un parametro opzionale .

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Successivamente, aggiungerò una variabile. Chiamerò questa variabile WDStartNum poiché rappresenterà il numero di inizio del giorno della settimana. Devo anche dichiararne il tipo, quindi digiterò number .

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Dichiaro il tipo per evitare errori. Se lo lascio come qualsiasi tipo, significa che potrebbe passare una tabella o un valore di data invece di passare solo numeri.

Il passaggio successivo consiste nell'aggiungere la clausola let e la clausola in .

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Sotto la clausola let, ho bisogno di un nome di variabile. Quindi chiamerò questa variabile WDStart .

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Ora, devo verificare se WDStartNum è stato superato. Se passa, non sarà uguale a null . Quindi dichiarerò che se WDStartNum non è uguale a null, voglio che venga restituito un valore .

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Per quanto riguarda la clausola in, voglio che venga superato lo stesso passaggio. Quindi inserirò semplicemente WDStart lì, che è il modo in cui abbiamo chiamato la nostra variabile in precedenza sotto la clausola let.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Dopo aver premuto Fatto, la funzione verrà creata. Quindi proverò a passare un valore attraverso quella funzione.

Proverò a digitare la lettera "a".

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Ricorda che prima ho dichiarato che il valore deve essere un numero. Poiché riconosce che il valore che ho inserito non soddisfa questo requisito, non mi consentirà di inserire quel parametro.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Quindi lo eliminerò e lascerò lo spazio vuoto.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Dopo aver fatto clic su Invoke, restituisce un valore pari a 0.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Tornando alla mia query originale, afferma che se il valore non è uguale a null, dovrebbe essere restituito WDStartNum. Se è uguale a null, dovrebbe essere restituito uno 0.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Quindi 0 è corretto.

Questa volta proverò a passare un valore modificando il numero in TestQuery. Abbastanza vero, restituisce un "1" una volta premuto invio.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Ora, fammi provare a superare il 2020 nel TestQuery. Una volta premuto invio, restituisce anche 2020.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Evidentemente, non voglio che questo accada. Dal momento che voglio un valore che rappresenti l'inizio della settimana, voglio che venga visualizzato uno 0 o un 1. Ciò significa che devo creare un altro test per vedere se il numero inserito è uno 0 o un 1. Posso usare la funzione List.Contains per questo.

Utilizzo di List.Contains

Ho creato una query vuota e ho inserito List.Contains senza utilizzare una parentesi.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Dopo aver premuto Invio, posso vedere la documentazione su quella funzione.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

List.Contains indica se l'elenco contiene un valore.

Quindi richiede un elenco come primo parametro, quindi viene aggiunto un valore dopo. Se quel valore si trova all'interno dell'elenco, restituisce true. In caso contrario, restituirà false.

Apro di nuovo l' editor avanzato in modo da poter apportare le modifiche necessarie alla mia query.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Invece di verificare se un valore non è uguale a null, userò List.Contains .

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Ora, fornirò un elenco di valori da applicare a questa funzione.

Userò le parentesi graffe come inizializzatore di elenco. All'interno di quelle parentesi graffe, inserirò 0, 1. Aggiungerò una virgola dopo aver chiuso quella parentesi.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Per il secondo parametro, userò WDStartNum. Quindi, aggiungerò la parentesi di chiusura.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Con questo in atto, significa che uno 0 o 1 dovrebbe darmi il WDStartNumber. Se viene inserito qualcosa di diverso da 0 o 1, dovrei ottenere un risultato di 0.

Fammi provare inserendo 2020 in TestQuery. Come previsto, questo restituisce uno "0" (zero).

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Questo perché il valore 2020 non è nell'elenco.

Aggiunta del parametro nella funzione M

Ora che sono sicuro che il codice funziona, posso finalmente inserirlo nella tabella delle date effettive e nella funzione M. Aprirò l' editor avanzato , quindi copierò il file logic .

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Quindi entrerò nella query della tabella delle date.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Aprirò la funzione M originale tramite l' editor avanzato .

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Quindi, incollerò il mio codice lì dentro. Assicuriamoci che ci sia una virgola alla fine della riga.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Successivamente, evidenzierò e copio il nome del mio parametro .

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Quindi aggiungerò quel parametro qui .

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Si noti che devo prima aggiungere una virgola alla fine della riga esistente, quindi devo dichiarare questo parametro facoltativo . Quindi posso posizionare WDStartNum e aggiungere il tipo .

Ho aggiunto il parametro e ho anche incorporato la logica. Ma devo anche assicurarmi di ottenere i risultati attesi. Quindi cercherò la riga di codice che copre il giorno della settimana.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Quindi, aggiungerò + WDStart .

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Farò clic su Fine per chiudere l'editor. Quindi, invocherò la query.

Per StartDate, inserirò il 1° gennaio 2020, quindi utilizzerò il 31 dicembre 2020 come EndDate.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Userò "7" come mese di inizio dell'anno fiscale, quindi inserirò "0" come WDStartNum.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Farò clic su Richiama. Ora ho la tabella delle date.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Lo rinominerò per assicurarmi che possa essere facilmente identificato.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Ora controllerò i risultati.

Questa è la mia rubrica DayOfWeek .

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Mostra che lunedì è tornato come 0.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Tornando alla domanda nel Forum, ho bisogno di cambiare il numero dell'inizio della settimana a 1 invece di 0. Quindi lo cambierò solo nella misura.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Quando premo invio, lunedì sarà ora il giorno 1 anziché il giorno 0.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Guardando l'intervallo numerico, ora va da 1 a 7 invece che da 0 a 6.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Cosa succede se passo un valore nullo?

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query

Quindi DayOfWeek per lunedì torna a 0.

Funzione M per la tabella delle date: come aggiungere un parametro nell'editor di query


Utilizzo della funzione M per creare una tabella della data di LuckyTemplates estesa
Guida per principianti al codice M in LuckyTemplates
Impostazione di una data di inizio e di una data di fine dinamiche per le tabelle della data di Power Query

Conclusione

Ecco come puoi aggiungere un parametro aggiuntivo direttamente nella funzione M sulla query della tabella delle date. Il processo non è affatto complesso, come ho detto prima. Finché hai una fonte per il codice M, è abbastanza facile da lì.

Ancora una volta, puoi sempre dare un'occhiata al corso Advanced Data Transformations & Modeling in Online se non hai informazioni su come funzionano i codici M.

Ti auguro il meglio,

Melissa

***** Imparare LuckyTemplates? *****







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