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

Extraer cadena con MID sin especificar el número de caracteres

hola

Soy nuevo en Dax y necesito buscar una cadena de texto a partir del cuarto carácter hasta el final de la cadena y si el texto está allí, devolver algún otro texto. Sin embargo, mis longitudes de cadena difieren y, cuando intento usar la función MID, no puedo ver cómo puedo especificar el número de caracteres que se devolverán, ya que no sé exactamente dónde está mi texto.

Lo que tengo que hacer es:

Si la cadena contiene "ST" a partir del cuarto carácter y hasta el final de la cadena, devuelva "ST",

Si la cadena contiene "LL", a partir del cuarto carácter y hasta el final de la cadena, devuelva "LL",

Si string contiene "X". mirando desde el personaje de salida y hasta el final del sring, devolver los dos últimos caracteres de la cuerda.

El resultado esperado:

"SSDF RETEST Case NO.234" devuelve "ST"

"WF3 Stems" devuelve "ST",

"SW TF 6 X" devuelve "X"

¡Realmente agradecería cualquier ayuda!

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@Alisea_MI , Pruebe una nueva columna como

Nueva columna =
var _1 = mid([column],4 , len([column])
devolución
Interruptor (true(),
search("ST",_1,,0)>0, "ST",
search("LL",_1,,0)>0, "ST",
search("X",_1,,0)>0, derecha([columna],2)
)

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

CONTAINSSTRING es útil aquí.

Column =
VAR Substring =
    RIGHT ( Table1[Column1], LEN ( Table1[Column1] ) - 4 )
RETURN
    SWITCH (
        TRUE (),
        CONTAINSSTRING ( Substring, "ST" ), "ST",
        CONTAINSSTRING ( Substring, "LL" ), "LL",
        CONTAINSSTRING ( Substring, "X" ), RIGHT ( Substring, 2 )
    )

@AlexisOlson Desafortunadamente esto me da un error para la variable. ¿Sabes qué problema puede ser? Mi columna es un tipo de texto.

Screenshot 2021-04-15 223806.jpg

ah. Tiene algunas cadenas de menos de 4 caracteres.

La versión MID de tomar la subcadena es más robusta para este problema.

Syndicate_Admin
Administrator
Administrator

@Alisea_MI , Pruebe una nueva columna como

Nueva columna =
var _1 = mid([column],4 , len([column])
devolución
Interruptor (true(),
search("ST",_1,,0)>0, "ST",
search("LL",_1,,0)>0, "ST",
search("X",_1,,0)>0, derecha([columna],2)
)

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.