BLOG DE ANALÍTICA WEB, CRM Y ESTRATEGIA DE NEGOCIO

Función CASE en Data Studio: categoriza, limpia o reescribe para personalizar tu dashboard • Hike Project

Escrito por Teresa Casañas | May 4, 2020 2:34:58 PM

En muchas ocasiones cuando estás analizando datos en plataformas de visualización como Google Data Studio necesitas poder crear nuevas categorizaciones de variables existentes, crear una nueva configuración de canales o bien limpiar una variable para que reporte datos de una forma entendible para el receptor.

En este post vamos a explorar una de las funciones más útiles para poder solventar estas problemáticas que surgen en el día a día del analista digital, la función CASE.

¿En qué consiste la función CASE?

La función CASE devuelve dimensiones y métricas basadas en las expresiones condicionales que nosotros definimos. Esta función suele utilizarse para crear nuevas agrupaciones de datos y clasificarlos en categorías.

Sintaxis

CASE consiste en la cláusula WHEN, dos parámetros; el argumento condicional (X1, X2) y el valor a devolver (Y1,Y2) cuando se cumplan las condiciones. Finalmente, incluye también la cláusula END.

Para obtener información más detallada sobre la función CASE  podéis consultar este artículos de google 

Consideremos el siguiente ejemplo, en la imagen posterior observamos una función CASE utilizada para crear un nuevo campo llamado “Idioma Campaña” que nos permite clasificar aquellas campañas de google ads que incluyen el parámetro EN o ES en su definición.

En esta caso, abrimos CASE con la cláusula WHEN especificando la primera condición. Luego agregaremos IN especificando la cadena de texto del nombre de las campañas y definiremos con THEN el nombre que queremos darle al resultado de la condición. 

Una vez guardado este campo con la función CASE tendremos una dimensión que nos permitirá clasificarlas por idioma y que podrá ser cruzada con las mismas métricas que utilizarías con la dimensión “campaña”.

Cómo utilizar la función REGEXP_MATCH dentro de CASE?

Ahora imaginemos otro ejemplo, queremos crear una dimensión que nos permita clasificar por tipo de campaña, pero tenemos muchas campañas con nombres diferentes. Si utilizamos IN, la lista de argumentos a incluir sería infinita y habría mayor probabilidad de cometer un error. Para este caso podemos utilizar la función REGEXP_MATCH junto con CASE. 

Para obtener mayor información sobre cómo funcionan las expresiones regulares podéis consultar este artículo de google

En la imagen posterior observamos una función CASE que incluye la declaración WHEN de la misma manera. Sin embargo, la dimensión que queremos utilizar, es decir, «Campaña», está dentro de los corchetes, a diferencia de cuando utilizamos IN que se encuentra fuera. Al incluir la expresión regular (.*) en la cadena de texto estamos especificando que cada vez que en el nombre de campaña se incluya “General_22”, “Marca_33” o “Generico_44” independientemente del texto que se encuentre por delante o por detrás, las campañas se nombraran “General”, “Brand” y “Generic Search respectivamente. 

Ejemplos de casos de uso para la función CASE

A continuación mostramos algunos ejemplos concretos de la función CASE que puedes copiar y personalizar para utilizar en tu día a día como analista:

CASE WHEN “Agrupación de canales”

CASE 

WHEN (Source=»(direct)» AND Medium=»(none)») OR (Source=»(direct)» AND Medium=»(not set)») THEN «Direct»

WHEN (Source=»google» AND Medium=»cpc») OR REGEXP_MATCH(Medium,»(cpc|ppc)») THEN «Paid Search» 

WHEN Medium=»organic» OR REGEXP_MATCH(Source, «.*(^google|baidu|bing).*|.*(search).*») THEN «Organic Search» 

WHEN REGEXP_MATCH(Source, «(.*facebook.*|.*t.co.*|.*twitter.*|.*instagram.*|.*pinterest.*|.*Youtube.*|.*hootsuite.*|.*lnkd.in.*)») THEN «Social»

WHEN REGEXP_MATCH(Medium, «(.*Email.*|.*email.*|.*outlook.live.com.*|.*newsletter.*|.*Direct_Mail.*|.*Direct_Email.*)») THEN «Email»

WHEN Medium=»affiliate» THEN «Affiliates» 

WHEN REGEXP_MATCH(Source, «(.*Banner.*|.* banner.*|.*VideoPass_App.*)») THEN «Display»

WHEN REGEXP_MATCH(Default Channel Grouping,»(.*Referral.*)») OR REGEXP_MATCH(Source,»(.*oshiete.*|.*inshorts.*|.*weebly.*)») THEN «Referral»

ELSE «Other»

END

CASE WHEN “Limpiar fuentes Sociales”

CASE

WHEN REGEXP_MATCH(Source, «(.*blog.*)») THEN «Blogs» 

WHEN REGEXP_MATCH(Source, «(.*facebook.*)») THEN «Facebook»

WHEN REGEXP_MATCH(Source, «(instagram|instagram.com|l.instagram.com)») THEN «Instagram»

WHEN REGEXP_MATCH(Source, «(instagramstories)») THEN «Instagram stories»

WHEN REGEXP_MATCH(Source, «(linkedin.*|lnkd.in)») THEN «Linkedin»

WHEN REGEXP_MATCH(Source, «(onesignal)») THEN «Onesignal»

WHEN REGEXP_MATCH(Source, «(.*pinterest.*)») THEN «Pinterest»

WHEN REGEXP_MATCH(Source, «(.*twitter.*|t.co)») THEN «Twitter»

WHEN REGEXP_MATCH(Source, «(.*youtube.*)») THEN «Youtube»

ELSE «Otros»

END

 CASE WHEN “Agrupación de Contenidos”

CASE 

WHEN REGEXP_MATCH(Page, «(^/$|/example.net)») THEN «Homepage» 

WHEN REGEXP_MATCH(Page, «(/contact.*|/faq.*)») THEN «Contact»

WHEN REGEXP_MATCH(Page, «(.*/blog/.*)») THEN «Blog»

WHEN REGEXP_MATCH(Page, «(/about.*|/jobs.*)») THEN «About»

WHEN REGEXP_MATCH(Page, «(^/login/profile|/login$|/login/home)») THEN «Profile Login»

WHEN REGEXP_MATCH(Page, «(.*/products/.*)») THEN «Product Page»

WHEN REGEXP_MATCH(Page, «(.*/step.*|/complete/)») THEN «Ticket Purchase Pages»

ELSE «Other»

END

CASE WHEN “Reescribir Dispositivo en Google Ads”

CASE

WHEN Device IN(«tablets with full browsers») THEN «Tablet»

WHEN Device IN(«computers») THEN «Desktop»

WHEN Device IN(«mobile devices with full browsers») THEN «Mobile»

ELSE «OTHER»

END

CASE WHEN “Clasificar por tipo de campaña en Google Ads”

CASE

WHEN REGEXP_MATCH(Campaign,»(.*General BAS)») THEN «General»

WHEN REGEXP_MATCH(Campaign,»(.*HIKE_Marca.*)») THEN «Brand»

WHEN REGEXP_MATCH(Campaign,»(.*Generico.*)») THEN «Generic Search»

ELSE «OTHER»

END

Estos son sólo algunos ejemplos de las muchas aplicaciones que tiene la función CASE en Google Data Studio para poder crear dashboards más intuitivos y comprensibles. 

Y en tu día a día ¿Cómo aplicas la función CASE?