venerdì 4 dicembre 2020

Power BI Query Code Branching

In qualunque linguaggio di programmazione vi sarete imbattuti nel "Conditional Code Branching" (in pratica l'If..Then..Else 😀). 

Se avete lavorato con Power BI, vi sarete anche imbattuti in Power Query soprattutto per l'acquisizione di dati da fonti dati esterne. 

Come funzionano questi due concetti messi insieme? In maniera piuttosto complessa e che richiede un bel po' di "pensiero laterale" è la risposta (vedi qui). 

In pratica il problema consiste nel fatto che M è un linguaggio funzionale, non imperativo, quindi ogni statement è una chiamata di funzione che ritorna un valore. 

Quindi per poter 'simulare' il blocco If..Then..Else va ripensato il tutto e gestirlo come un blocco "Then,,Else,,If". Mi spiego meglio: dato che è un linguaggio funzionale devo preparare il risultato del "Then", poi quello dell'"Else" e poi decidere quale ritornare con l'If. 


Esempio:

let

    Source = Table1,

    //THEN Code Block 

    #"ModifiedThenTable" = [your code here]    

    //ELSE Code Block 

     #"ModifiedElseTable" = [your code here]   

    result = 

        if [condition]

        then #"ModifiedThenTable"

        else #"ModifiedElseTable"

in

    #"result"

Nessun commento:

Posta un commento