Las funciones DAX, SEARCH and FIND no son en sí una novedad dentro de la nueva versión de PowerPivot, pero se han incluido algunas mejoras. Recordemos la funcionalidad de FIND y SEARCHFIND: Devuelve la posición de comienzo de una cadena de texto dentro de otra cadena de texto. Es case sensitiveSEARCH: Devuelve el numero de carácter en el que por primera vez un determinado carácter o cadena de texto de izquierda a derecha. Es case-sensitive. Podemos usar los comodines ‘?’ (sustituye carácter) y ‘*’ (sustituye todo lo que haya hasta encontrar coincidencia)
En PowerPivot 1.0 los argumentos son:
FIND
Donde:
– find_text: Texto a buscar
– within_text: Texto donde buscar
– [start_num] (Opcional): Cadena por la que empezar a buscar
SEARCH
Donde:
– find_text: Texto a buscar
– within_text: Texto donde buscar
– [start_num] (Opcional): Cadena por la que empezar a buscar
El problema de estas funciones en PowerPivot 1.0, es que cuando en alguna de las filas devolvía error (al no encontrar la cadena), automáticamente todo devuelve error. Había que jugar con la función IFERROR para que devolviera otro valor. Ahora en PowerPivot 2.0 se añade un parámetro más:
– NotFoundValue: Con NotFoundValue, pondrá el valor que se explicite en caso de no encontrar la cadena.
Así podemos ver que para PowerPivot 1.0 debemos de poner si queremos buscar la cadena “Hola”:
=IFERROR(FIND(“Hola”,Table2[Texto]),-1)
=IFERROR(SEARCH(“Hola”,Table2[Texto]),-1)
Con PowerPivot 2.0
=FIND(“Hola”,[Texto],,-1)
=SEARCH(“Hola”,[Texto],,-1)
De esta manera ya no hay que utilizar el control de errores con el IFERROR, lo que hace que nuestras expresiones con Find y Search sean más sencillas.
Nos vemos en próximos posts