Limpieza y filtrado de datos al mismo tiempo
Los dos tutoriales anteriores le mostraron de qué manera usar funciones para filtrar datos y limpiar datos. Ahora, veremos de qué manera puede anidar funciones para realizar ambas tareas de forma simultánea.
Funciones anidadas
Puede anidar una función dentro de otra para lograr los resultados que no podría lograr con ninguna de las dos funciones por sí solas.
Estructura básica
Esta es la estructura básica de una función anidada con un nivel de anidamiento:
FUNCIÓN_2( FUNCIÓN_1(información de entrada de función_1) ; información de entrada de función_2)
Puede ver que la FUNCIÓN_1( ) está completamente contenida dentro de la FUNCIÓN_2( ).
Orden de la evaluación
Las funciones anidadas se evalúan a partir de la función que se encuentra más adentro y se avanza hacia la función que se encuentra más afuera. Por lo tanto, en el siguiente ejemplo genérico:
- Se evalúa primero FUNCIÓN_1(información de entrada de función_1).
- La salida de FUNCIÓN_1( ) se transforma en una de las entradas de la FUNCIÓN_2( ).
- La FUNCIÓN_2( ) se evalúa en segundo lugar.
Piense en la información de entrada y salida
En términos generales, puede anidar cualquier función de Analytics dentro de otra función y, si es necesario, crear varios niveles de anidamiento.
Sin embargo, debe tener en cuenta que la salida de una función debe coincidir con los requisitos de información de entrada de la función que la contiene. Por ejemplo, si una función requiere una información de entrada de fecha, la salida de la función que contiene en su interior debe ser un valor con un tipo de datos de fechahora.
Punto clave
El anidamiento de funciones es una capacidad potente y flexible, que le puede permitir obtener una amplia variedad de resultados útiles. Puede realizar varias transformaciones de los datos de origen de manera simultánea a fin de preparar los datos para enviarlos como información de entrada a un comando.
Estandarizar el uso de mayúsculas y minúsculas y filtrar por varios valores
En un tutorial anterior, utilizamos la función MATCH( ) para filtrar por varios valores. MATCH( ) distingue entre mayúsculas y minúsculas; por lo tanto, si el uso de mayúsculas y minúsculas de los valores de entrada no es uniforme, el filtro arroja resultados imprecisos.
Puede obtener resultados precisos anidando la función UPPER( ) dentro de la función MATCH( ).
Ejemplo
Desea utilizar el campo Ciudad_proveedor para filtrar los registros de una tabla, pero los nombres de las ciudades no se introdujeron con el mismo uso de mayúsculas y minúsculas. Algunas ciudades tienen mayúscula inicial ("Austin") y otras están escritas totalmente en mayúsculas ("AUSTIN").
Puede anidar la función UPPER( ) dentro de la función MATCH( ) para:
- transformar todos los valores de Ciudad_proveedor en mayúsculas
- filtrar los registros por ciudad
Tenga en cuenta que debe ajustar los términos de su filtro para que sean en mayúscula a fin de que coincidan con los valores en mayúscula que genera la función UPPER( ).
MATCH( UPPER(Ciudad_proveedor) ; "AUSTIN"; "CHICAGO")
En la siguiente tabla, se puede ver la diferencia entre el uso de la función MATCH( ) por sí sola y el uso de la función anidada.
Con MATCH( ) por sí sola, el filtro es demasiado restrictivo y excluye registros que se deberían incluir.
Devuelto por: | Devuelto por: |
---|---|
MATCH( Ciudad_proveedor; "Austin"; "Chicago") | MATCH( UPPER(Ciudad_proveedor); "AUSTIN"; "CHICAGO") |
Austin | Austin |
Chicago | Chicago |
AUSTIN | |
CHICAGO |
Consejo
En lugar de usar una función anidada, podría agregar variaciones de los términos del filtro: MATCH(Ciudad_proveedor; "Austin"; "AUSTIN"; "Chicago"; "CHICAGO"). Sin embargo, con los términos adicionales del filtro, el enfoque requiere demasiado trabajo manual y podría no captar valores con errores de tipeo, como "AUstin". Es conveniente anidar la función UPPER( ).
Nota
Para aplicar las funciones MATCH( ) o UPPER( ) al campo Ciudad_proveedor, debe crear un campo calculado que utilice la función. En otro tutorial se analizan los campos calculados.
Estandarizar el uso de mayúsculas y minúsculas, quitar los espacios en blanco iniciales y filtrar por varios valores
El anidamiento se puede hacer en más de un nivel. Puede crear varios niveles de anidamiento, de acuerdo con sus necesidades.
Recuerde:
- Las funciones anidadas se evalúan a partir de la función que se encuentra más adentro y se avanza hacia la función que se encuentra más afuera.
- La salida de una función debe coincidir con los requisitos de información de entrada de la función que la contiene.
Ejemplo
En una segunda situación, los datos del campo Ciudad_proveedor son incluso menos uniformes. Aquí no solo hay diferencias en el uso de las mayúsculas y las minúsculas, sino que algunos valores están precedidos de uno o más espacios en blanco, mientras que otros no lo están.
Puede anidar la función UPPER( ) dentro de la función ALLTRIM( ) y la función ALLTRIM( ) dentro de la función MATCH( ) para:
- transformar todos los valores de Ciudad_proveedor en mayúsculas
- quitar todos los espacios iniciales en blanco
- filtra los registros por ciudad
MATCH( ALLTRIM( UPPER(Ciudad_proveedor) ); "AUSTIN"; "CHICAGO")
Consejo
Al usar funciones anidadas, es fácil perder el rastro de los paréntesis de apertura y cierre. La falta o la repetición innecesaria de paréntesis es una causa común de errores en las funciones.
La cantidad de paréntesis de apertura ( siempre debe coincidir con la cantidad de paréntesis de cierre ). En el ejemplo anterior, hay tres paréntesis de apertura y tres de cierre.
En la siguiente tabla, se puede ver la diferencia entre el uso de la función MATCH( ) por sí sola y el uso de la función anidada.
Con MATCH( ) por sí sola, el filtro es demasiado restrictivo y excluye registros que se deberían incluir.
Devuelto por: | Devuelto por: |
---|---|
MATCH( Ciudad_proveedor; "Austin"; "Chicago") | MATCH(ALLTRIM( UPPER(Ciudad_proveedor); "AUSTIN"; "CHICAGO") |
Austin | Austin |
Chicago | Chicago |
AUSTIN | |
CHICAGO | |
[ ] Austin | |
[ ] [ ] [ ] Chicago | |
[ ] [ ] AUSTIN | |
[ ] CHICAGO | |
[ ] = espacio en blanco |
¿Cómo continuar?
Si completó todos los tutoriales en Cómo usar las funciones, está preparado para pasar al Uso avanzado de las funciones.
Los tutoriales avanzados le enseñarán a usar las funciones con características fundamentales de Analytics.