Skip to main content

Table.ReorderColumns

Returns a table with the columns in the specified order.

Syntax

Table.ReorderColumns(
table as table,
columnOrder as list,
optional missingField as MissingField.Type
) as table

Remarks

Returns a table from the input table, with the columns in the order specified by columnOrder. Columns that are not specified in the list will not be reordered. If the column doesn't exist, an exception is thrown unless the optional parameter missingField specifies an alternative (eg. MissingField.UseNull or MissingField.Ignore).

Examples

Example #1

Switch the order of the columns [Phone] and [Name] in the table.

Table.ReorderColumns(
Table.FromRecords({[CustomerID = 1, Phone = "123-4567", Name = "Bob"]}),
{"Name", "Phone"}
)

Result:

Table.FromRecords({[CustomerID = 1, Name = "Bob", Phone = "123-4567"]})

Example #2

Switch the order of the columns [Phone] and [Address] or use "MissingField.Ignore" in the table. It doesn't change the table because column [Address] doesn't exist.

Table.ReorderColumns(
Table.FromRecords({[CustomerID = 1, Name = "Bob", Phone = "123-4567"]}),
{"Phone", "Address"},
MissingField.Ignore
)

Result:

Table.FromRecords({[CustomerID = 1, Name = "Bob", Phone = "123-4567"]})

Category

Table.Column operations