共用方式為


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