Regex, que viene del inglés Regular Expressions, es una técnica utilizada en Business Intelligence (BI) y, en la práctica, es una secuencia de caracteres y símbolos que se convierten en patrones de búsqueda para otro texto. Es una técnica desarrollada en informática teórica y teoría del lenguaje formal. Por lo general, estos patrones son utilizados como funcionalidades por algoritmos dentro de lenguajes de programación, sistemas operativos, herramientas ETL, de Business Intelligence, Bases de Datos, Ofimática y muchos más.
Particularmente en Business Intelligence, muchas veces es necesario hacer operaciones de ETL (Extracción Transformación y Carga), para limpiar, dar formato y validar los datos que nos entregan. Es ahí cuando tenemos la posibilidad de usar Regex para resolver problemas de manera rápida, eficiente y hasta elegante.
Ejemplos de uso:
Ilustración 1: Ejemplo de Expresión Regular para validar un formato de fecha del tipo dd-MM-yyyy
Muchas veces los datos no vienen listos ni cómodos para usarlos con una herramienta de visualización BI, un caso recurrente es cuando los datos de salida de un software de encuestas entregan las respuestas y preguntas codificadas. Dentro de este contexto, Regex se hace muy útil para buscar un valor en particular (respuesta codificada) dentro de otro texto diccionario de preguntas con sus posibles valores de salida (las alternativas).
Ilustración 2: Ejemplo de repuestas codificadas en encuesta
La solución consiste en encontrar un patrón Regex que permita identificar y extraer un valor buscado mediante una clave, dentro de un diccionario en formato JSON (¡servirá para cualquier pregunta de la encuesta!).
En este caso, un patrón que nos sirve es 2:“([^“]+)“, donde el número 2 en el ejemplo, será posteriormente la variable de las respuestas codificadas de cada pregunta, los caracteres en negro son literales y se busca ese formato en el diccionario. Los paréntesis () en Regex, indican un grupo, que son una porción del texto que hace match con el patrón. Finalmente, el texto [^“]+ nos dice que acepta cualquier carácter 1 o mas veces, que sea distinto de comillas (“).
Ilustración 3: Testeo de la Expresión Regular
Existen sitios como REGEX 101 que te ayudan a escribir un Regex, entender su sintaxis y probarlo en línea!
El resultado esperado sería algo así:
Power BI no cuenta con una implementación nativa de Regex, por lo cual se necesita insertar scripts de Python o R a nivel de Power Query, además de instalar el entorno del lenguaje elegido previamente.
Ilustración 4: Script de Python en Power Query
Ilustración 5: Campo calculado en Tableau
Usando las herramientas líderes del mercado en Bussiness Intelligence, como lo son Power BI y Tableau, hemos podido resolver una problemática recurrente con la ayuda de Regex, además de conocer su potencia y los diversos usos en los que puede ayudar cuando nos enfrentamos a problemas de ETL, en el inicio de un proyecto de visualización.