Перейти к основному содержимому

Table.TransformColumns

Преобразует значения в одном или нескольких столбцах.

Syntax

Table.TransformColumns(
table as table,
transformOperations as list,
optional defaultTransformation as function,
optional missingField as MissingField.Type
) as table

Remarks

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

Examples

Example #1

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

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

Result:

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

Example #2

Преобразуйте числовые значения в отсутствующем столбце [X] в текстовые значения, пропуская несуществующие столбцы.

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

Result:

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

Example #3

Преобразуйте числовые значения в отсутствующем столбце [X] в текстовые значения, по умолчанию используя значение NULL для несуществующих столбцов.

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

Result:

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

Example #4

Увеличьте числовые значения в столбце [B] и преобразуйте их в текстовые значения, а все остальные столбцы преобразуйте в числа.

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

Result:

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

Category

Table.Transformation