Home
» Power BI
»
Reemplazar valor por texto coincidente en Power Query
Reemplazar valor por texto coincidente en Power Query
Si alguna vez tuvo el requisito de realizar varios reemplazos de coincidencia de texto exacto, es muy probable que haya realizado una serie de pasos de valor de reemplazo. Pero como siempre, existen múltiples y más fáciles formas de lograr el mismo resultado. Puedes ver el video completo de este tutorial en la parte inferior de este blog.
En el blog de hoy, demostraré la función M Record.FieldOrDefault para este caso de uso específico.
Pasos para reemplazar el valor de múltiples textos de coincidencia exacta
Navegando por el conjunto de datos
Comencemos abriendo el Editor de consultas para acceder al registro de datos de muestra y reemplazos .
Dentro de la tabla, vemos que no todas las cadenas de texto están alineadas a la izquierda.
Cuando pasamos a Reemplazos , podemos examinar nuestro registro y comprender por qué este método solo puede funcionar para reemplazar coincidencias de texto exactas.
Un registro es un conjunto de campos y cada campo tiene un par nombre-valor.
El nombre del campo debe ser un texto único dentro del registro con Record.FieldOrDefault.
El nombre del campo se usará para identificar lo que estamos buscando, mientras que el valor del campo que se usará para el reemplazo puede ser de cualquier tipo.
Sustitución de los valores
Vamos a ver cómo funciona.
Primero, iré a la consulta Solución y, en la pestaña Transformar , seleccionaré Reemplazar valores.
Aparecerá una ventana emergente y presionaré OK .
Esto genera la mayor parte de la forma de código M. Entonces, todo lo que necesito hacer es actualizar la sintaxis dentro de la barra de fórmulas.
A partir de la fórmula, podemos ver que llama a nuestra tabla de origen como primer argumento y lo que estamos buscando como segundo argumento. Los argumentos se indican con estas comillas dobles (" ").
Lo que estoy buscando es el valor dentro de la columna uno, así que escribiré cada [Col1] para el primer argumento. Luego, quiere que la cosa reemplace al bot, y aquí es donde usaré esa función de registro.
Escribiré cada Record.FieldOrDefault. Luego, quiere el disco o el Reemplazo y finalmente, lo que estamos buscando. Puedo encontrar eso dentro de la columna uno, así que copiaré y pegaré [Col1] desde el primer argumento para volver a hacer referencia.
Si el valor no se encuentra dentro del registro, quiero que devuelva lo que está allí actualmente. Por lo tanto, pegaré [Col1] nuevamente para hacer referencia a la columna uno en caso de que falte el valor. Si omito este parámetro final y el elemento no se encuentra dentro del registro, en su lugar se devolverá un valor nulo.
Estos cambios hacen que nuestra fórmula se vea así.
Confirmemos haciendo clic en el ícono de verificación a la izquierda de la barra de fórmulas.
El resultado se muestra en la imagen de abajo.
Cada valor de texto dentro de la columna uno que tenía un nombre de campo coincidente en el registro de reemplazo ahora se actualizó.
En este blog, demostré cómo hacer múltiples reemplazos de texto de coincidencia exacta en Power Query . Al usar la función M Record.FieldOrDefault, puede ahorrar tiempo al reducir los pasos necesarios para lograr los mismos resultados.