Forum Discussion
Función MID
Hola, @Tesy
El formato de las dos líneas anteriores no es lo suficientemente claro. ¿Puede proporcionar una captura de pantalla de los datos de origen en Excel?
Saludos
Equipo de apoyo a la comunidad _Charlotte
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
Lo que hago con esas 2 lineas en excel es aplicar la siguiente formula:
=VALUE ( MID ( W2 , SEARCH ( "Horas de participación" , W2 ) + 26 , SEARCH ( "; Evaluación global", W2 ) - SEARCH ("Horas de participación" , W2 ) - 26 ) )
pero me falta algo al aplicarlo en Power BI, estoy batallando con la estructura de la formula
- Syndicate_Admin1 year ago
Administrator
Hola, @Tesy
Puede probar los siguientes métodos.
Horas = VAR HorasPos = IFERROR(SEARCH("Horas de participación", 'Table'[COLUMNNAME]), 0) VAR EvalPos = IFERROR(SEARCH(";Evaluación global", 'Table'[COLUMNNAME]), 0) VAR IsPatternFound = (HorasPos > 0) && (EvalPos > HorasPos + 26) VAR ExtractedText = IF( IsPatternFound, MID('Table'[COLUMNNAME], HorasPos + 26, EvalPos - (HorasPos + 26)), BLANK() ) RETURN IF(IsPatternFound, VALUE(ExtractedText), BLANK())¿Es este el resultado que esperabas?
Saludos
Equipo de apoyo a la comunidad _Charlotte
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
- Syndicate_Admin1 year ago
Administrator
Muchas gracias @v-zhangtin-msft , suncionó muy bien con las filas correspondientes, pero al aplicarlo a toda la columna completa ya no funcionó, por otras variables, pero era lo que realmente esperaba!
Gracias !
- Syndicate_Admin1 year ago
Administrator
¡Funcionó! Corregí algunos textos en mi base de datos jeje
¿Puedo aprovechar sus conocimientos y corregir esta adaptación por mí?
Horas =
VAR HorasPos = IFERROR(SEARCH("Horas de participación", sheet1[Respuesta del formulario]), 0)
VAR EvalPos = IFERROR(SEARCH("; Evaluación global", sheet1[Respuesta del formulario]), 0)
VAR NumPos = IFERROR(SEARCH("Número de horas", sheet1[Respuesta del formulario]), 0)
VAR Fini = IFERROR(SEARCH("; Fecha de inicio",sheet1[Respuesta del formulario]), 0)
VAR IsPatternFound = (HorasPos > 0) && (EvalPos > HorasPos + 26) && (NumPos > 0) && (Fini > NumPos + 19)
VAR ExtractedText =
IF(
IsPatternFound,
MID(sheet1[Respuesta del formulario], HorasPos + 26, EvalPos - (HorasPos + 26)),
IF(
MID(sheet1[Respuesta del formulario], NumPos + 19, Fini - (NumPos + 18)),
BLANK()
))
RETURN
IF(IsPatternFound, VALUE(ExtractedText), BLANK())¡Muchas gracias de antemano!