Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Función de búsqueda en DAX (tipo de datos incorrecto o error de valor no válido)

Hola

Estoy tratando de usar esta función ...

Coluna2 =
VAR runid_inicio = SEARCH("RunID",Incidentes[Description3],,BLANK())
VAR runid_fim = SEARCH(",",Incidentes[Description3],runid_inicio,BLANK())
RUNID_FIM DE RETORNO

... pero solo recibo este mensaje de error a continuación:

"Un argumento de la función 'SEARCH' tiene el tipo de datos incorrecto o un valor no válido".

Descubrí que el parámetro [] (en mi ejemplo, contiene el valor de la variable runid_inicio) me está causando problemas. Así que intenté usar CONVERT(runid_inicio,STRING) / CONVERT(runid_inicio,INTEGER) y ambos no funcionaron.

OBS.: Solo utilicé la fórmula SEARCH("RunID",Incidentes[Description3],,BLANK()) en una nueva columna y funciona normalmente.

¿Alguien puede ayudar?

¡Gracias de antemano!

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hola @thomas_raphael , si está intentando agregar una nueva columna, podría considerar el uso de Power Query para realizar esta función. Puede ser más fácil ver los resultados.

Tenga en cuenta que SEARCH("RunID",Incidentes[Description3],,BLANK()) devolverá un número que representa la posición inicial del texto. "Buscar valor de texto": si uso la búsqueda para encontrar "Texto", el resultado será 6. Si la búsqueda falla, el resultado es BLANK(). Es posible que deba cambiar el BLANK() a 1 o 1000.

Este resultado podría pasarse a la segunda función VAR. Pero solo encontrará la posición de la primera ", después de esta posición de inicio. 1, 6 o 1000. Si no hay "," es devuelve BLANK().

View solution in original post

11 REPLIES 11
Syndicate_Admin
Administrator
Administrator

Hola tengo el mismo problema

Estoy tratando de usar esta función ...

_Gr_Numeric = CONVERTIR(IZQUIERDA(TExportDataMS_Daily[_Gr],Solamente(TExportDataMS_Daily[_Gr])-1),ENTERO)
pero solo recibo este mensaje de error a continuación:
Un argumento de la función 'LEFT' tiene el tipo de datos incorrecto o tiene un valor no válido

¿Alguien puede ayudar?

¡Gracias de antemano!

Hola @miftah_02 - i difícil con los datos de ejemplo, pero creo que podría estar tratando de convertir una cadena de texto, por ejemplo, "A" a INTEGER, o parece que está tratando de encontrar el penúltimo carácter, pero ¿qué sucede si solo hay 1 carácter?

Sí, quiero convertir de cadena a entero
Se trata de TExportDataMS_Daily de consulta[_Gr]
_Gr = VALOR DE BÚSQUEDA(MProduct[Tamaño],MProduct[IDProduct],TExportDataMS_Daily[ProductID])
Y cuando probé esta consulta obtuve este isue
_Gr_Numeric = CONVERTIR(IZQUIERDA(TExportDataMS_Daily[_Gr],LEN(TExportDataMS_Daily[_Gr])-1),ENTERO)
Un argumento de la función 'LEFT' tiene el tipo de datos incorrecto o tiene un valor no válido

Hola @miftah_02 -
La función LOOKUPVALUE puede devolver cualquier tipo de datos (https://dax.guide/lookupvalue/)

LEFT es una función de texto - https://dax.guide/left/.

Esto no funcionará cuando el tamaño del producto si el tamaño es Número. Debe convertir este número en cadena https://dax.guide/convert/ antes de usar LEFT.

Pero en esta etapa la función se vuelve compleja por lo que no está claro lo que está intentando. ¿Puede proporcionar un ejemplo de los datos y el resultado esperado?

Syndicate_Admin
Administrator
Administrator

Hola @thomas_raphael . Puede probar lo siguiente:

Coluna2 =
VAR runid_inicio =
    SEARCH ( "RunID", Incidentes[Description3],, -1 )
VAR runid_fim =
    SEARCH ( ",", Incidentes[Description3], VALUE ( runid_inicio ), BLANK () )
RETURN
    runid_fim

¡Espero que esta respuesta resuelva su problema!
Si necesita ayuda adicional, por favor @ me en su respuesta.
Si mi respuesta le proporcionó una solución, considere marcarla como una solución ✔️ o darle un kudoe 👍
¡Gracias!

¡También puedes echar un vistazo a mi LinkedIn!

Saludos
Gonçalo Geraldes

¡Hola @goncalogeraldes!,

He probado esta función VALUE() y el error persiste.

¡Gracias de todos modos!

Tenga en cuenta que también he cambiado la primera variable, tal vez eso ayudaría ... 🙂

Oh, perdón por perderme esa parte 😅

No lo mencioné, pero ya he probado -1 y 0 como antes de publicar esto.

Teniendo en cuenta @Daryl respuesta de Lynch-Bzy , parece que no se puede < 0 en la primera variable.

¡Gracias por los comentarios @thomas_raphael ! 🙂

Syndicate_Admin
Administrator
Administrator

Hola @thomas_raphael , si está intentando agregar una nueva columna, podría considerar el uso de Power Query para realizar esta función. Puede ser más fácil ver los resultados.

Tenga en cuenta que SEARCH("RunID",Incidentes[Description3],,BLANK()) devolverá un número que representa la posición inicial del texto. "Buscar valor de texto": si uso la búsqueda para encontrar "Texto", el resultado será 6. Si la búsqueda falla, el resultado es BLANK(). Es posible que deba cambiar el BLANK() a 1 o 1000.

Este resultado podría pasarse a la segunda función VAR. Pero solo encontrará la posición de la primera ", después de esta posición de inicio. 1, 6 o 1000. Si no hay "," es devuelve BLANK().

Hola @Daryl-Lynch-Bzy

No puedo usar Power Query porque estoy creando esta tabla a partir de un conjunto de datos publicado, ¡buuut su sugerencia sobre cómo cambiar blank() a 1 hizo que finalmente funcionara!

¡Gracias por ello!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.