Forum Discussion
Funciones IF con muchas condiciones
DAX tiene una función SWITCH que es mucho más limpia y fácil de usar que anidar múltiples instrucciones IF.
La sintaxis básica es:
SWITCH(, , [, , ]…[, ])
Entonces, en su caso, sería algo como esto:
OverallProjectScore = SWITCH(
TRUE(),
AND([Client Satisfaction]=1, AND( [Leadership]=1, [Estimation, Planning & Timelines] = 1 )),1,
AND( [Leadership] = 1, [Estimation, Planning & Timelines] = 1 ), 1,
999 )
Acabo de hacer sus dos primeras condiciones, de lo contrario 999 como marcador de posición a medida que completa las otras condiciones.
La condición promedio agrega cierta complejidad adicional. Imaginamos que podemos llegar a eso una vez que se sienta cómodo con esta primera parte.
Espero que esto te ponga en marcha.
Saludos
Muchas gracias por la ayuda. Así que he estado jugando con él, y sigo recibiendo un error que dice "Token Eof esperado".
Aquí está el código:
OverallProjectScore = SWITCH(
VERDADERO(),
AND([[#"SATISFACCIÓN Y VALOR DEL CLIENTE"]]=1, AND([LIDERAZGO]=1, [#"ESTIMACIÓN, PLANIFICACIÓN Y PLAZOS"] =1)),1, Y([LIDERAZGO]=1,[#"ESTIMACIÓN, PLANIFICACIÓN Y PLAZOS"]=1)),1,AND([[#"ESTIMACIÓN, PLANIFICACIÓN Y PLAZOS"]]=1, Y([[#"SATISFACCIÓN Y VALOR DEL CLIENTE"]]=1)),1,Y([LIDERAZGO]=1, Y([#"SOLUCIÓN Y ENTREGABLES"]=1,[ENFOQUE]=1,[#"ESTIMACIÓN, PLANIFICACIÓN Y PLAZOS"]=1,[#"MONITOR Y CONTROL"]=1, [DOTACIÓN DE PERSONAL]=1, [#"SATISFACCIÓN Y VALOR DEL CLIENTE"]=1)),1
Traté de duplicar tu lógica de cómo creaste las primeras 2 condiciones, pero algo va mal ...
- Syndicate_Admin4 years ago
Administrator
Has traído personajes adicionales por alguna razón.
1) En su primera condición, deshágase del corchete doble, las comillas dobles y el signo "#". No tengo esto en ninguna parte de mi ejemplo... no sé cómo o por qué terminaron allí.
Todos los nombres de sus columnas deben decir [YourColumnName], es decir, [LIDERAZGO].
Haz estas correcciones y vamos a partir de ahí.
- Syndicate_Admin4 years ago
Administrator
Esos caracteres se agregan si selecciono la columna haciendo doble clic en la sección "columnas disponibles". Los he eliminado.
Ahora recibo el error "indentifier no válido" y la palabra "CLIENT" se está resaltando (vea la captura de pantalla a continuación).
Aquí está el código:
= INTERRUPTOR(
VERDADERO(),
AND([SATISFACCIÓN Y VALOR DEL CLIENTE]=1, AND([LIDERAZGO]=1, [ESTIMACIÓN, PLANIFICACIÓN Y PLAZOS]=1)),1, Y([LIDERAZGO]=1,[ESTIMACIÓN, PLANIFICACIÓN Y PLAZOS]=1)),1,AND([ESTIMACIÓN, PLANIFICACIÓN Y PLAZOS]=1, Y([SATISFACCIÓN Y VALOR DEL CLIENTE]=1)),1,Y([LIDERAZGO]=1, Y([SOLUCIÓN Y ENTREGABLES]=1,[ENFOQUE]=1,[ESTIMACIÓN, PLANIFICACIÓN Y PLAZOS]=1,[MONITOR & CONTROL]=1, [DOTACIÓN DE PERSONAL]=1,[SATISFACCIÓN Y VALOR DEL CLIENTE]=1)),1- Syndicate_Admin4 years ago
Administrator
La instrucción SWITCH es una función DAX (es decir, función Power BI). Está intentando hacer esto en Power Query. Elimine lo que ha hecho aquí en Power Query y ciérrelo.
A continuación, en Power BI, desea agregar una columna calculada a la tabla.