es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué no puedo reescribir datos exactos de una tabla utilizando REGEX_EXTRACT en Google Data Studio?

Tengo una tabla de UTM de campañas en Google Data Studio que me gustaría reescribir usando REGEXP_EXTRACT para que la tabla solo muestre cierta información.

Esta es la tabla de la cual me gustaría reescribir los datos:

Campaña
ID-google-campaign-20210212-all-en-en-HYPY-campaignname0
ID-google-campaign-20210522-all-en-en-MHTP
ID-google-campaign-20200204-all-en-en-PPOY
ID-google-campaign-20200422-all-en-en-YMYP
ID-google-campaign-20200223-all-en-en-YPPT-campaignname1

Me gustaría presentar solo los datos con los códigos correspondientes a los nombres de campaña si aparecen en el formato: HXXX, PXXX, MXXX, YXXX, VXXX o CXXX.

Basado en la tabla anterior, solo quisiera que se mostraran estos valores:

Campaña
HYPY
MHTP
PPOY
YMYP
YPPT

He intentado varias variantes de la expresión regular, pero los datos no se extraen correctamente o se muestra solo una parte de los datos.

Algunos ejemplos:

Mostrando nulos:

(H|P|M|Y|V|C)[A-Z]{3}
^*(H|P|M|Y|V|C)[A-Z]{3}
(H|P|M|Y|V|C){3}

Muestra la primera letra de los datos:

(H|P|M|Y|V|C)
Campaña
H
M
P
Y
Y

Al usar probadores de expresiones regulares en línea, funciona correctamente, pero de alguna manera no filtra en Google Data Studio.

¿Qué estoy haciendo mal?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que las expresiones regulares que has intentado no están especificando correctamente la porción de la cadena que deseas extraer. Aquí tienes una expresión regular que debería funcionar para tu escenario:

    (H|P|M|Y|V|C)[A-Z]{3,}$

    Explicación:

    • (H|P|M|Y|V|C) coincide con cualquiera de los códigos de letras especificados al principio de la cadena (es decir, H, P, M, Y, V o C).
    • [A-Z]{3,} coincide con cualquier secuencia de al menos 3 letras mayúsculas consecutivas (es decir, el código del nombre de la campaña).
    • $ asegura que la coincidencia ocurra al final de la cadena, asegurando que solo se extraiga el código del nombre de la campaña.

    Así es cómo puedes usar REGEXP_EXTRACT con esta expresión regular para extraer la información deseada:

    REGEXP_EXTRACT(Campaign, "(H|P|M|Y|V|C)[A-Z]{3,}$")
    

    Esto extraerá el código del nombre de la campaña de la columna Campaign, basado en la expresión regular proporcionada.

    Asegúrate de actualizar el nombre de la columna y el nombre de la fuente de datos según tus requisitos.

Comments are closed.