Table.TransformColumns

Синтаксис

Table.TransformColumns(table as table, transformOperations as list, optional defaultTransformation as nullable function, optional missingField as nullable number) as table

Сведения

Преобразует table, применяя каждую из операций со столбцами из списка transformOperations (в формате { имя столбца, преобразование } или { имя столбца, преобразование, новый тип столбца }). Если указано преобразование по умолчанию defaultTransformation, оно будет применяться ко всем столбцам, не указанным в списке transformOperations. Если столбец, указанный в списке transformOperations, не существует, выдается исключение, если только не задано альтернативное действие с помощью необязательного параметра missingField (например, MissingField.UseNull или MissingField.Ignore).

Пример 1

Текстовые значения из столбца [A] преобразуются в числовые, а числовые из столбца [B] — в текстовые.

Использование

Table.TransformColumns(
    Table.FromRecords({
        [A = "1", B = 2],
        [A = "5", B = 10]
    }),
    {
        {"A", Number.FromText},
        {"B", Text.From}
    }
)

Выходные данные

Table.FromRecords({
    [A = 1, B = "2"],
    [A = 5, B = "10"]
})

Пример 2

Числовые значения из столбца [X] (который отсутствует) преобразуются в текстовые. Несуществующие столбцы пропускаются.

Использование

Table.TransformColumns(
    Table.FromRecords({
        [A = "1", B = 2],
        [A = "5", B = 10]
    }),
    {"X", Number.FromText},
    null,
    MissingField.Ignore
)

Выходные данные

Table.FromRecords({
    [A = "1", B = 2],
    [A = "5", B = 10]
})

Пример 3

Числовые значения из столбца [X] (который отсутствует) преобразуются в текстовые. Для несуществующих столбцов по умолчанию используется значение null.

Использование

Table.TransformColumns(
    Table.FromRecords({
        [A = "1", B = 2],
        [A = "5", B = 10]
    }),
    {"X", Number.FromText},
    null,
    MissingField.UseNull
)

Выходные данные

Table.FromRecords({
    [A = "1", B = 2, X = null],
    [A = "5", B = 10, X = null]
})

Пример 4

Числовые значения из столбца [B] увеличиваются на единицу и преобразуются в текстовые. Все прочие столбцы преобразуются в числа.

Использование

Table.TransformColumns(
    Table.FromRecords({
        [A = "1", B = 2],
        [A = "5", B = 10]
    }),
    {"B", each Text.From(_ + 1), type text},
    Number.FromText
)

Выходные данные

Table.FromRecords({
    [A = 1, B = "3"],
    [A = 5, B = "11"]
})