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