skean21
Querida comunidad,
Estoy enfrentando el siguiente problema:
Quiero que las columnas de una tabla aparezcan en un orden definido, el problema es que no siempre existen todas las columnas. Cuando aplico el comando de orden de clasificación, puedo ordenar las columnas; el problema es que tan pronto como no existe una columna en el comando, Power Query muestra un mensaje de error.
Por ejemplo, mi tabla tiene estas columnas:
columnaA | columnaB | ColumnaC | columnaD | columnaE |
Quiero que aparezcan en el orden de esta tabla (TableA):
Columna Posición
columnaB | 1 |
columnaA | 2 |
columnaD | 3 |
columnaE | 4 |
ColumnaC | 5 |
Ahora sería posible que, por ejemplo, la columna D no exista, por lo que ColumnE debería estar en la posición 3.
El orden de clasificación que quiero podría definirlo en una tabla como la tabla A.
¿Alguien puede ayudarme a realizar esto en Power Query?
Gracias por adelantado,
Saludos
Félix
Alba
Hola @skean21
Suponiendo que su TableA esté ordenado (como lo muestra):
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSQcKxsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ColumnA = _t, ColumnB = _t, ColumnC = _t, ColumnE = _t]),
#"Reordered Columns" = Table.ReorderColumns(Source,List.Intersect({TableA[Column],Table.ColumnNames(Source)}))
in
#"Reordered Columns"
Copie el código anterior en una consulta en blanco para ver los pasos
Por favor marque la pregunta resuelta cuando termine y considere dar felicitaciones si las publicaciones son útiles.
Comuníquese conmigo en privado para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
Alba
Hola @skean21
Suponiendo que su TableA esté ordenado (como lo muestra):
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSQcKxsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ColumnA = _t, ColumnB = _t, ColumnC = _t, ColumnE = _t]),
#"Reordered Columns" = Table.ReorderColumns(Source,List.Intersect({TableA[Column],Table.ColumnNames(Source)}))
in
#"Reordered Columns"
Copie el código anterior en una consulta en blanco para ver los pasos
Por favor marque la pregunta resuelta cuando termine y considere dar felicitaciones si las publicaciones son útiles.
Comuníquese conmigo en privado para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
skean21
En respuesta a Alba
@AlB muchas gracias, ¡muy útil!