Table.TransformColumns

语法

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

简介

通过对table应用transformOperations中列出的每个列操作(格式为 {列名,变换} 或 {列名,变换,新列类型})来进行转换。 如果指定了 a defaultTransformation ,它将应用于未列出 transformOperations的所有列。 如果列 transformOperations 不存在,除非可选参数 missingField 指定了替代项(例如 MissingField.UseNullMissingField.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"]
})