Table.ReorderColumns

Syntax

Table.ReorderColumns(table as table, columnOrder as list, optional missingField as nullable number) as table

About

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).

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"}
)
CustomerID Name Phone
1 Bob 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
)
CustomerID Name Phone
1 Bob 123-4567