Digamos que temos un ficheiro de Excel con varias táboas intelixentes:
Se carga estas táboas en Power Query do xeito estándar usando o comando Datos – Obter datos – Do ficheiro – Do libro (Datos — Obter datos — Do ficheiro — Do libro de traballo), entón obtemos algo así:
A imaxe, creo, é familiar para moitos usuarios de Power Query. Pódense ver táboas aniñadas similares despois de combinar consultas (ao BUSCAR V), agrupar (comando Agrupar por aba Transformación), importando todos os ficheiros dun cartafol determinado, etc.
O seguinte paso lóxico nesta situación é xeralmente expandir todas as táboas aniñadas á vez, usando o botón con frechas dobres na cabeceira da columna. Data:
Como resultado, obtemos un conxunto de todas as filas de todas as táboas nun único todo. Todo é bo, sinxelo e claro.
Agora imaxina que se engadiu unha nova columna (Desconto) nas táboas de orixe e/ou se eliminou unha das existentes (Cidade):
Entón, a nosa solicitude despois da actualización devolverá unha imaxe non tan fermosa: o desconto non apareceu e a columna da cidade quedou baleira, pero non desapareceu:
E é fácil ver por que: na barra de fórmulas podes ver claramente que os nomes das columnas expandidas están codificados nos argumentos da función Táboa.ExpandTableColumn como listas entre corchetes.
Evitar este problema é doado. Primeiro, imos obter os nomes das columnas da cabeceira de calquera táboa (por exemplo, a primeira) usando a función Táboa.Nomes de columnas. Será así:
Aquí:
- #"Elimináronse outras columnas" – o nome do paso anterior, de onde tomamos os datos
- 0 {} – o número da táboa da que extraemos a cabeceira (contando desde cero, é dicir, 0 é a primeira táboa)
- [Datos] – o nome da columna no paso anterior, onde se atopan as táboas ampliadas
Queda por substituír a construción obtida na barra de fórmulas pola función Táboa.ExpandTableColumn no paso de expandir táboas en lugar de listas codificadas. Todo debería verse así ao final:
Iso é todo. E non haberá máis problemas coa expansión das táboas aniñadas cando cambien os datos de orixe.
- Creación de táboas multiformato a partir dunha folla en Power Query
- Crea táboas con diferentes cabeceiras a partir de varios ficheiros de Excel
- Recopilación de datos de todas as follas do libro nunha soa táboa