Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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"]
})