次の方法で共有


Table.TransformColumns

構文

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

詳細

transformOperations に記載されている各列操作を適用し、table を変換します (形式は { 列名、変換 } または { 列名、変換、新しい列の型 } になります)。 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"]
})