Partager via


Table.TransformColumns

Syntaxe

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

À propos de

Transforme table en appliquant chaque opération de colonne répertoriée dans transformOperations (où le format est { nom de colonne, transformation } ou { nom de colonne, transformation, nouveau type de colonne }). Si un defaultTransformation est spécifié, il est appliqué à toutes les colonnes non répertoriées dans transformOperations. Si une colonne répertoriée dans transformOperations n’existe pas, une exception est levée, sauf si le paramètre facultatif missingField spécifie une alternative (par exemple, MissingField.UseNull ou MissingField.Ignore).

Exemple 1

Convertissez les valeurs de texte de la colonne [A] en valeurs numériques et les valeurs numériques de la colonne [B] en valeurs de texte.

Utilisation

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

Sortie

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

Exemple 2

Convertissez les valeurs numériques de la colonne manquante [X] en valeurs de texte, en ignorant les colonnes qui n’existent pas.

Utilisation

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

Sortie

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

Exemple 3

Convertissez les valeurs numériques de la colonne manquante [X] en valeurs de texte, par défaut null sur les colonnes qui n’existent pas.

Utilisation

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

Sortie

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

Exemple 4

Incrémentez les valeurs numériques dans la colonne [B] et convertissez-les en valeurs de texte, puis convertissez toutes les autres colonnes en nombres.

Utilisation

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

Sortie

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