Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
In questo tutorial, esamineremo un'interessante domanda sollevata nel su come unire dinamicamente un numero variabile di colonne in una tabella Power Query. Puoi guardare il video completo di questo tutorial in fondo a questo blog.
Questo scenario riguarda le esportazioni di dati non elaborati che causano la fuoriuscita dei dati in un numero imprecisato di colonne adiacenti. Quando guardi l'esempio, puoi vedere che la descrizione si è riversata nella colonna 4 e la descrizione 2 è stata divisa su due colonne adiacenti. Ma non sarà sempre così. Nel ciclo successivo, questo numero di colonne potrebbe cambiare.
Prima di passare alla soluzione, esaminiamo il codice M generato da Power Query quando si uniscono le colonne.
Sommario
Codice M della tabella Power Query
Ci sono un paio di modi per unire le colonne. Uno è selezionare sia la colonna della descrizione che premere il tasto Maiusc o il tasto Ctrl, quindi selezionare anche la colonna 4. Quindi, fai clic con il pulsante destro del mouse e scegli Unisci colonne .
In alternativa, nella scheda Trasforma , seleziona Unisci colonne . E apparirà questa finestra di dialogo, che ti permette di selezionare il Separatore.
Nella finestra a comparsa, scegli Tab e puoi inserire un nuovo nome di colonna. In questo caso, l'ho chiamato Descrizione.
Nella barra della formula, vediamo il codice M creato da questa fase di trasformazione.
Se la barra della formula non è visibile sullo schermo, vai alla scheda Visualizza e attivala.
Quindi la funzione utilizzata da Power Query per unire le colonne è Table.CombinedColumns . Il primo parametro che prende è una tabella. Quella tabella viene restituita dal passaggio precedente nel nostro codice, quindi nei passaggi applicati vedrai che si chiama Source .
Quindi, ha codificato i nomi delle colonne in un elenco. Qui puoi vedere gli inizializzatori dell'elenco e tra i valori nel testo, la descrizione del nome della colonna e la colonna del nome della colonna 4. Quindi, chiama un'altra funzione M per combinare i valori del testo in quelle colonne.
E infine, passa il nuovo nome della colonna come testo in modo che possiamo aggiustarlo.
Quindi, se vogliamo che questa funzione unisca dinamicamente un numero variabile di colonne, dovremo modificare il valore del secondo parametro che ora contiene un elenco di nomi di colonna codificati.
Unione di un numero variabile di colonne in una tabella Power Query
Torno alla mia query sui dati grezzi e, se diamo un'occhiata più da vicino ai nomi delle colonne, vediamo che ciascuna delle colonne di trasferimento è anonima. Non hanno nomi propri, ma iniziano tutti con la colonna di testo, seguita da un numero. Vediamo se possiamo usarlo. Innanzitutto, creerò un riferimento facendo clic con il pulsante destro del mouse qui e selezionando Riferimento .
E per ottenere i nomi delle colonne all'interno della barra della formula, posso aggiungere Table.ColumnNames . Questa funzione restituisce un elenco con tutti i nomi delle colonne di quella tabella. Ritrasformiamolo in una tabella facendo clic su To Table .
In questa finestra a comparsa, fare clic su OK.
Quindi, nella scheda Aggiungi colonna , selezionerò Format , quindi Trim .
Ora, questa non è una trasformazione che voglio eseguire, ma genera la maggior parte del codice M per me. Tutto quello che devo fare è sostituire quella funzione trim con la mia logica .
Quindi all'interno della barra della formula, invece di Text.Trim , possiamo dire if Text.StartsWith , quindi puntarlo alla nostra Colonna 1 e lo copierò immediatamente. Vuole quel testo che stiamo cercando, quindi sarà Colonna. Quindi, se inizia con una colonna di testo, allora vogliamo "null" - per tutto il resto, vogliamo tutto ciò che è nella colonna 1. Possiamo anche rinominare quella colonna, quindi all'interno della barra della formula, invece di Trim, chiamiamola GroupColumn .
Ora, tutto ciò che dobbiamo fare è riempirli a questi valori. Quindi farò clic con il pulsante destro del mouse sulla mia intestazione, selezionerò Fill e Down .
Quindi la prossima volta che i dati arrivano e quel numero di colonne è cambiato, questo gruppo lo raccoglierà automaticamente.
Rinominiamo questa query, la chiamerò gruppi di colonne.
Assicuriamoci che il suo caricamento sia stato disabilitato perché questa è solo una query di supporto.
Posso fare riferimento a questa query di supporto e la rinominerò in seguito. Lasciamolo per ora. Quindi, se ricordi, abbiamo iniziato unendo due colonne e questo ha creato un elenco codificato con i nomi delle colonne , ma ora possiamo filtrare su Description nel nostro GroupColumn .
Quindi, se applichiamo quel filtro sulla descrizione all'interno della colonna 1, otteniamo le colonne che soddisfano tali criteri.
Tuttavia, questa è una tabella e non un elenco. Dobbiamo estrarre tutto ciò che rimane in quella prima colonna perché dobbiamo includere quelle colonne nella nostra operazione di unione. Quindi, per farlo, possiamo fare clic con il pulsante destro del mouse sull'intestazione della Colonna 1 e selezionare Drill Down .
E ora otteniamo una lista. Quindi diamo a questa query un nome proprio ( ListDescr ) e controlliamo se è disabilitato dal caricamento.
Ora possiamo tornare alla nostra query Risultato e sostituire il secondo argomento qui con il nostro elenco dinamico. Quindi qui, possiamo fare riferimento al nostro ListDescr .
Ripetiamolo anche per la Descrizione 2. Vado alla mia query ColumnGroups. Creerò un altro riferimento e selezionerò le colonne di cui ho bisogno. Poi filtrerò la Descrizione 2, che restituirà queste tre colonne. Farò clic con il pulsante destro del mouse sulla mia intestazione e selezionerò Drill Down e rinominerò anche questa query ( ListDescr2 ).
Torno quindi alla mia query Risultato, seleziono la colonna Descrizione2 e premo Maiusc o Ctrl per selezionare anche la colonna successiva (colonna2). Farò clic con il pulsante destro del mouse sull'intestazione e sceglierò Unisci colonne .
Nella finestra pop-up, sceglierò Tab come separatore e lo chiamerò Description2.
Cambierò solo il nome della colonna qui sulla barra della formula. Cambierò anche quell'elenco codificato dall'elenco che abbiamo appena creato. E ora, come puoi vedere, anche questo ha ripreso la colonna 8 che avevamo precedentemente escluso.
Come unire le query in LuckyTemplates
Parametri delle query di LuckyTemplates: ottimizzazione delle tabelle
Ordinamento delle colonne della tabella per data in LuckyTemplates
Conclusione
In questo blog, ti ho mostrato come utilizzare i codici M in Power Query per unire dinamicamente le colonne. Non è difficile finché hai familiarità con il funzionamento di Power Query e quali codici M utilizzare.
Spero ti sia piaciuto questo. Si prega di controllare i link sottostanti per ulteriori contenuti correlati.
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