Pular para o conteúdo principal

Table.ReplaceValue

Substitui um valor por outro nas colunas especificadas.

Syntax

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

Remarks

Substitui um valor por um novo valor nas colunas especificadas de uma tabela.

  • table: a tabela a ser pesquisada.
  • oldValue: o valor a ser substituído.
  • newValue: o valor de substituição.
  • replacer: a função de substituição a ser usada. A função pode ser Replacer.ReplaceText para substituir o texto original por um novo texto ou Replacer.ReplaceValue para substituir o valor original por um novo valor ou um substituidor personalizado.
  • columnsToSearch: uma lista que contém a coluna ou colunas específicas na tabela para pesquisar o valor a ser substituído.

Examples

Example #1

Substitua o texto "adeus" por "mundo" na coluna B, correspondendo apenas ao valor inteiro.

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

Result:

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

Example #2

Substitua o texto "seu" por "ou" na coluna B, correspondendo a qualquer parte do valor.

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

Result:

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

Example #3

Anonimize os nomes dos funcionários dos EUA.

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

Result:

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

Example #4

Anonimize todas as colunas de funcionários dos EUA.

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

Result:

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

Category

Table.Transformation