Partager via


Table.ReplaceValue

Syntaxe

Table.ReplaceValue(
    table as table,
    oldValue as any,
    newValue as any,
    replacer as function,
    columnsToSearch as list
) as table

À propos

Remplace une valeur par une nouvelle valeur dans les colonnes spécifiées d’une table.

  • table: table à rechercher.
  • oldValue: valeur à remplacer.
  • newValue: valeur de remplacement.
  • replacer : La fonction de remplacement à utiliser. La fonction peut être Replacer.ReplaceText soit remplacer le texte d’origine par un nouveau texte, Replacer.ReplaceValue soit remplacer la valeur d’origine par une nouvelle valeur, soit un remplacement personnalisé.
  • columnsToSearch: liste contenant la colonne ou les colonnes spécifiques de la table pour rechercher la valeur à remplacer.

Exemple 1

Remplacez le texte « goodbye » par « world » dans la colonne B, correspondant uniquement à la valeur entière.

Utilisation

Table.ReplaceValue(
    Table.FromRecords({
        [A = 1, B = "hello"],
        [A = 2, B = "goodbye"],
        [A = 3, B = "goodbyes"]
    }),
    "goodbye",
    "world",
    Replacer.ReplaceValue,
    {"B"}
)

Sortie

Table.FromRecords({
    [A = 1, B = "hello"],
    [A = 2, B = "world"],
    [A = 3, B = "goodbyes"]
})

Exemple 2

Remplacez le texte « ur » par « or » dans la colonne B, correspondant à n’importe quelle partie de la valeur.

Utilisation

Table.ReplaceValue(
    Table.FromRecords({
        [A = 1, B = "hello"],
        [A = 2, B = "wurld"]
    }),
    "ur",
    "or",
    Replacer.ReplaceText,
    {"B"}
)

Sortie

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

Exemple 3

Anonymisez les noms des employés des États-Unis.

Utilisation

Table.ReplaceValue(
    Table.FromRecords({
        [Name = "Cindy", Country = "US"],
        [Name = "Bob", Country = "CA"]
    }),
    each if [Country] = "US" then [Name] else false,
    each Text.Repeat("*", Text.Length([Name])),
    Replacer.ReplaceValue,
    {"Name"}
)

Sortie

Table.FromRecords({
    [Name = "*****", Country = "US"],
    [Name = "Bob", Country = "CA"]
})

Exemple 4

Anonymisez toutes les colonnes des employés des États-Unis.

Utilisation

Table.ReplaceValue(
    Table.FromRecords({
        [Name = "Cindy", Country = "US"],
        [Name = "Bob", Country = "CA"]
    }),
    each [Country] = "US",
    "?",
    (currentValue, isUS, replacementValue) =>
        if isUS then
            Text.Repeat(replacementValue, Text.Length(currentValue))
        else
            currentValue,
    {"Name", "Country"}
)

Sortie

Table.FromRecords({
    [Name = "?????", Country = "??"],
    [Name = "Bob", Country = "CA"]
})

Fonctions de remplacement