Anónimo
Esto es lo que estoy tratando de escribir:
Comprobación del entrenador = IF(value(‘RAW (2)'[Trainee Check])=»Piloto de línea»,»No entrenador»,SI(valor(y(CONTIENE(‘RAW (2)’,’RAW (2)'[Trainee Check],»Administración»)=Verdadero,CONTIENE(‘RAW (2)’,’RAW (2)'[Trainee Check],»Entrenador»)=Verdadero)),»Entrenador»,if(valor(y(CONTIENE(‘RAW (2)’,’RAW (2)'[Trainee Check],»Administración»)=Verdadero,CONTIENE(‘RAW (2)’,’RAW (2)'[Trainee Check],»Entrenador»)=Falso)),»Administración»,if(valor(CONTIENE(‘RAW (2)’,’RAW (2)'[Trainee Check],»Entrenador»))=»Verdadero»,»Entrenador»,»No Entrenador»))))
Y al recibir este error, «las operaciones de comparación de Dax no admiten la comparación de valores de tipo número con valores de tipo texto. Considere usar la función VALOR o FORMATO para convertir uno de los valores».
Soy bastante nuevo en Power BI. Buscando ayuda.
martynramsden
hola @anonimo
En primer lugar, supongo que desea crear una columna calculada.
Cuando se trata de declaraciones IF anidadas, siempre uso la función SWITCH porque me resulta mucho más fácil de leer.
También puede utilizar la función CONTAINSSTRING que busca una cadena dentro de una cadena.
Intente agregar la siguiente expresión como una columna calculada:
Trainer Check =
SWITCH(
TRUE(),
'RAW (2)'[Trainee Check] = "Line Pilot", "Non Trainer",
AND(
CONTAINSSTRING( 'RAW (2)'[Trainee Check], "Management" ) = TRUE,
CONTAINSSTRING( 'RAW (2)'[Trainee Check], "Trainer" ) = TRUE
), "Trainer",
AND(
CONTAINSSTRING( 'RAW (2)'[Trainee Check], "Management" ) = TRUE,
CONTAINSSTRING( 'RAW (2)'[Trainee Check], "Trainer" ) = FALSE
), "Management",
CONTAINSSTRING( 'RAW (2)'[Trainee Check], "Trainer" ) = TRUE, "Trainer",
"Non Trainer"
)
Nota: CONTAINSSTRING no distingue entre mayúsculas y minúsculas. Si requiere distinción entre mayúsculas y minúsculas, use CONTAINSSTRINGEXACT.
Espero eso ayude.
Atentamente,
Martín
v-lionel-msft
Hola @Anónimo,
¿Se ha solucionado tu problema?
Según lo probado, la fórmula de @MartynRamsden es útil, es posible que deba actualizar su versión de escritorio de Power BI.
Si desea crear una medida, puede hacerlo así:
Measure 2 =
SWITCH(
TRUE(),
MAX('Sales 2015'[Month]) = "January", "Non Trainer",
OR(
CONTAINSSTRING( MAX('Sales 2015'[Month]), "February" ) = TRUE,
CONTAINSSTRING( MAX('Sales 2015'[Month]), "May" ) = TRUE
), "Trainer",
AND(
CONTAINSSTRING( MAX('Sales 2015'[Month]), "Management" ) = TRUE,
CONTAINSSTRING( MAX('Sales 2015'[Month]), "Trainer" ) = FALSE
), "Management",
CONTAINSSTRING( MAX('Sales 2015'[Month]), "May" ) = TRUE, "Trainer",
"Non Trainer"
)
Atentamente,
Lionel Chen
Si esta publicación ayudaentonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.
martynramsden
hola @anonimo
En primer lugar, supongo que desea crear una columna calculada.
Cuando se trata de declaraciones IF anidadas, siempre uso la función SWITCH porque me resulta mucho más fácil de leer.
También puede utilizar la función CONTAINSSTRING que busca una cadena dentro de una cadena.
Intente agregar la siguiente expresión como una columna calculada:
Trainer Check =
SWITCH(
TRUE(),
'RAW (2)'[Trainee Check] = "Line Pilot", "Non Trainer",
AND(
CONTAINSSTRING( 'RAW (2)'[Trainee Check], "Management" ) = TRUE,
CONTAINSSTRING( 'RAW (2)'[Trainee Check], "Trainer" ) = TRUE
), "Trainer",
AND(
CONTAINSSTRING( 'RAW (2)'[Trainee Check], "Management" ) = TRUE,
CONTAINSSTRING( 'RAW (2)'[Trainee Check], "Trainer" ) = FALSE
), "Management",
CONTAINSSTRING( 'RAW (2)'[Trainee Check], "Trainer" ) = TRUE, "Trainer",
"Non Trainer"
)
Nota: CONTAINSSTRING no distingue entre mayúsculas y minúsculas. Si requiere distinción entre mayúsculas y minúsculas, use CONTAINSSTRINGEXACT.
Espero eso ayude.
Atentamente,
Martín
Anónimo
En respuesta a martynramsden
Muchas gracias, pero CONTAINSSTRING está fallando. Supongo que porque no estoy usando un SSAS Dbase, sino una base de datos de acceso.
Cualquier alternativa.
Gracias
Utsav
martynramsden
En respuesta a Anónimo
hola @anonimo
¿CONTAINSSTRING devuelve un error o simplemente no devuelve los resultados esperados?
Si es lo último, ¿puede proporcionar algunos datos de muestra y el resultado esperado?
Atentamente,
Martín
Anónimo
En respuesta a martynramsden
Hola martyn-
Está dando un error. El primero.
martynramsden
En respuesta a Anónimo
¿Puedes adjuntar una imagen del error o, mejor aún, compartir tu PBIX?
Anónimo
En respuesta a martynramsden
Estoy intentando pero no puedo adjuntar el archivo pbix.
Aquí hay una captura de pantalla del error.
martynramsden
En respuesta a Anónimo
hola @anonimo
Parece que puede estar ejecutando una versión anterior del escritorio de Power BI.
La función CONTAINSSTRING estuvo disponible en la versión de marzo de 2019.
¿Podría instalar la última versión de Power BI Desktop y volver a intentarlo?
Descargar escritorio Power BI
Atentamente,
Martín
Anónimo
En respuesta a martynramsden
aqui tienes