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"]
})