Supponiamo di avere un file Excel con diverse tabelle intelligenti:
Se carichi queste tabelle in Power Query nel modo standard usando il comando Dati – Ottieni dati – Da file – Da libro (Dati — Ottieni dati — Da file — Da cartella di lavoro), quindi otteniamo qualcosa del genere:
L'immagine, credo, sia familiare a molti utenti di Power Query. Tabelle nidificate simili possono essere visualizzate dopo aver combinato le query (a la VLOOKUP), raggruppando (command Raggruppa per linguetta Trasformazione), importando tutti i file da una determinata cartella, ecc.
Il passaggio logico successivo in questa situazione è di solito espandere tutte le tabelle nidificate contemporaneamente, utilizzando il pulsante con le doppie frecce nell'intestazione della colonna Dati:
Di conseguenza, otteniamo un assieme di tutte le righe di tutte le tabelle in un unico insieme. Tutto è buono, semplice e chiaro.
Ora immagina che sia stata aggiunta una nuova colonna (Sconto) nelle tabelle di origine e/o che una di quelle esistenti (Città) sia stata eliminata:
Quindi la nostra richiesta dopo l'aggiornamento restituirà un'immagine non così bella: lo sconto non è apparso e la colonna della città è diventata vuota, ma non è scomparsa:
Ed è facile capire perché: nella barra della formula puoi vedere chiaramente che i nomi delle colonne espanse sono codificati negli argomenti della funzione Table.ExpandTableColumn come elenchi tra parentesi graffe.
Come aggirare questo problema è facile. Innanzitutto, otteniamo i nomi delle colonne dall'intestazione di qualsiasi tabella (ad esempio, la prima) utilizzando la funzione Table.ColumnNames. Sembrerà:
Qui:
- #"Altre colonne rimosse" – il nome del passaggio precedente, da cui prendiamo i dati
- 0 {} – il numero della tabella da cui estraiamo l'intestazione (contando da zero, cioè 0 è la prima tabella)
- [Dati] – il nome della colonna del passaggio precedente, dove si trovano le tabelle espanse
Resta da sostituire nella funzione la costruzione ottenuta nella barra della formula Table.ExpandTableColumn nella fase di espansione delle tabelle anziché degli elenchi codificati. Alla fine dovrebbe essere tutto così:
È tutto. E non ci saranno più problemi con l'espansione delle tabelle nidificate quando i dati di origine cambiano.
- Creazione di tabelle multiformato da un foglio in Power Query
- Crea tabelle con intestazioni diverse da più file Excel
- Raccolta dei dati da tutti i fogli del libro in un'unica tabella