Come unire dinamicamente le colonne in una tabella di Power Query

Come unire dinamicamente le colonne in una tabella di Power Query

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.

Come unire dinamicamente le colonne in una tabella di Power Query

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 .

Come unire dinamicamente le colonne in una tabella di Power Query

In alternativa, nella scheda Trasforma , seleziona Unisci colonne . E apparirà questa finestra di dialogo, che ti permette di selezionare il Separatore.

Come unire dinamicamente le colonne in una tabella di Power Query

Nella finestra a comparsa, scegli Tab e puoi inserire un nuovo nome di colonna. In questo caso, l'ho chiamato Descrizione.

Come unire dinamicamente le colonne in una tabella di Power Query

Nella barra della formula, vediamo il codice M creato da questa fase di trasformazione.

Come unire dinamicamente le colonne in una tabella di Power Query

Se la barra della formula non è visibile sullo schermo, vai alla scheda Visualizza e attivala.

Come unire dinamicamente le colonne in una tabella di Power Query

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.

Come unire dinamicamente le colonne in una tabella di Power Query

E infine, passa il nuovo nome della colonna come testo in modo che possiamo aggiustarlo.

Come unire dinamicamente le colonne in una tabella di Power Query

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 .

Come unire dinamicamente le colonne in una tabella di Power Query

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 .

Come unire dinamicamente le colonne in una tabella di Power Query

In questa finestra a comparsa, fare clic su OK.

Come unire dinamicamente le colonne in una tabella di Power Query

Quindi, nella scheda Aggiungi colonna , selezionerò Format , quindi Trim .

Come unire dinamicamente le colonne in una tabella di Power Query

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 .

Come unire dinamicamente le colonne in una tabella di Power Query

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 .

Come unire dinamicamente le colonne in una tabella di Power Query

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 .

Come unire dinamicamente le colonne in una tabella di Power Query

Quindi la prossima volta che i dati arrivano e quel numero di colonne è cambiato, questo gruppo lo raccoglierà automaticamente.

Come unire dinamicamente le colonne in una tabella di Power Query

Rinominiamo questa query, la chiamerò gruppi di colonne.

Come unire dinamicamente le colonne in una tabella di Power Query

Assicuriamoci che il suo caricamento sia stato disabilitato perché questa è solo una query di supporto.

Come unire dinamicamente le colonne in una tabella di Power Query

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 .

Come unire dinamicamente le colonne in una tabella di Power Query

Quindi, se applichiamo quel filtro sulla descrizione all'interno della colonna 1, otteniamo le colonne che soddisfano tali criteri.

Come unire dinamicamente le colonne in una tabella di Power Query

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 .

Come unire dinamicamente le colonne in una tabella di Power Query

E ora otteniamo una lista. Quindi diamo a questa query un nome proprio ( ListDescr ) e controlliamo se è disabilitato dal caricamento.

Come unire dinamicamente le colonne in una tabella di Power Query

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 .

Come unire dinamicamente le colonne in una tabella di Power Query

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 .

Come unire dinamicamente le colonne in una tabella di Power Query

Nella finestra pop-up, sceglierò Tab come separatore e lo chiamerò Description2.

Come unire dinamicamente le colonne in una tabella di Power Query

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 dinamicamente le colonne in una tabella di Power Query


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

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