Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Sintaxis
Table.ReplaceValue(
table as table,
oldValue as any,
newValue as any,
replacer as function,
columnsToSearch as list
) as table
Acerca de
Reemplaza un valor por un nuevo valor en las columnas especificadas de una tabla.
-
table: la tabla que se va a buscar. -
oldValue: valor que se va a reemplazar. -
newValue: valor de reemplazo. -
replacer: La función de reemplazo a utilizar. La función puede ser Replacer.ReplaceText para reemplazar el texto original por texto nuevo, Replacer.ReplaceValue para reemplazar el valor original por un nuevo valor o un reemplazador personalizado. -
columnsToSearch: lista que contiene la columna o columnas específicas de la tabla para buscar el valor que se va a reemplazar.
Ejemplo 1
Reemplace el texto "goodbye" por "world" en la columna B, para que haya una coincidencia solo con el valor completo.
Uso
Table.ReplaceValue(
Table.FromRecords({
[A = 1, B = "hello"],
[A = 2, B = "goodbye"],
[A = 3, B = "goodbyes"]
}),
"goodbye",
"world",
Replacer.ReplaceValue,
{"B"}
)
Salida
Table.FromRecords({
[A = 1, B = "hello"],
[A = 2, B = "world"],
[A = 3, B = "goodbyes"]
})
Ejemplo 2
Reemplace el texto "ur" por "or" en la columna B, para que haya una coincidencia con cualquier parte del valor.
Uso
Table.ReplaceValue(
Table.FromRecords({
[A = 1, B = "hello"],
[A = 2, B = "wurld"]
}),
"ur",
"or",
Replacer.ReplaceText,
{"B"}
)
Salida
Table.FromRecords({
[A = 1, B = "hello"],
[A = 2, B = "world"]
})
Ejemplo 3
Anonimizar los nombres de los empleados de EE. UU.
Uso
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"}
)
Salida
Table.FromRecords({
[Name = "*****", Country = "US"],
[Name = "Bob", Country = "CA"]
})
Ejemplo 4
Anonimizar todas las columnas de empleados de EE. UU.
Uso
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"}
)
Salida
Table.FromRecords({
[Name = "?????", Country = "??"],
[Name = "Bob", Country = "CA"]
})