Forum Discussion
Filtrar con tres condiciones
Hola, ¿puedes ayudarme?
Tengo una columna calculada para filtrar a los estudiantes que no han tomado ninguna clase u otra.
Me gustaría incluir una condición más para buscar a aquellos que no tomaron 3 clases ¿podría ayudarme? No puedo añadir otra condición.
Me gustaría filtrar, por ejemplo, a los alumnos que no hicieron ni la clase 1 ni la clase 2 ni la clase 3.
Este es el pbix que estoy usando como ejemplo
https://drive.google.com/file/d/16PN12shTogdJJ9b1w7v75E6cZOn4RNBV/view?usp=sharing
Estoy usando esta fórmula.
Column =
if('Table'[DONE]="NOT"&&'Table'[CLASS]="CLASS 1" && MAXX(FILTER('Table','Table'[NAME]=EARLIER('Table'[NAME])&&'Table'[CLASS]="CLASS 2"),'Table'[DONE])="NOT","Not for class1&2",if('Table'[DONE]="NOT"&&'Table'[CLASS]="CLASS 2" && MAXX(FILTER('Table','Table'[NAME]=EARLIER('Table'[NAME])&&'Table'[CLASS]="CLASS 3"),'Table'[DONE])="NOT","Not for class2&3",""))
Muchas gracias por la ayuda.
Estaba usando el filtro equivocado para la tercera condición, en lugar de usar el valor de la palabra . estaba usando &&.
Ahora trabajando.Este es el código
Column = if('Table'[DONE]="NOT"&&'Table'[CLASS]="CLASS 1" && MAXX(FILTER('Table','Table'[NAME]=EARLIER('Table'[NAME])&&('Table'[CLASS]="CLASS 2"||'Table'[CLASS]="CLASS 3")),'Table'[DONE])="NOT","Not for class1&2&3", if('Table'[DONE]="NOT"&&'Table'[CLASS]="CLASS 1" && MAXX(FILTER('Table','Table'[NAME]=EARLIER('Table'[NAME])&&'Table'[CLASS]="CLASS 2"),'Table'[DONE])="NOT","Not for class1&2", if('Table'[DONE]="NOT"&&'Table'[CLASS]="CLASS 2" && MAXX(FILTER('Table','Table'[NAME]=EARLIER('Table'[NAME])&&'Table'[CLASS]="CLASS 3"),'Table'[DONE])="NOT","Not for class2&3", "")))
5 Replies
- FrankAT
Community Champion
Hola @tarocha
puedes hacerlo así:
Measure = VAR _Table = FILTER( 'Table', 'Table'[DONE] = "NOT" && 'Table'[CLASS] = "CLASS 1" || 'Table'[CLASS] = "CLASS 2" || 'Table'[CLASS] = "CLASS 3" ) VAR _Count = COUNTX(_Table,'Table'[NAME]) RETURN IF(_Count = 3 , "Not in Class 1, 2 , 3", BLANK())ass 1, 2 , 3", BLANK())Con saludos amables desde la ciudad donde la leyenda del 'Pied Piper de Hamelin' está en casa
FrankAT (Orgulloso de ser un Datanaut)- tarocha
Helper II
Hola, @FrankAT
Necesito que sea una columna calculada para que la uses como segmentadora.
Pude hacer dos condiciones con el código dax a continuación, pero estoy teniendo problemas para incluir una condición más para otra clase.Column = if('Table'[DONE]="NOT"&&'Table'[CLASS]="CLASS 1" && MAXX(FILTER('Table','Table'[NAME]=EARLIER('Table'[NAME])&&'Table'[CLASS]="CLASS 2"),'Table'[DONE])="NOT","Not for class1&2",if('Table'[DONE]="NOT"&&'Table'[CLASS]="CLASS 2" && MAXX(FILTER('Table','Table'[NAME]=EARLIER('Table'[NAME])&&'Table'[CLASS]="CLASS 3"),'Table'[DONE])="NOT","Not for class2&3",""))
- lbendlin
Super User
Esto se puede simplificar un poco así:
Column = var n = 'Table'[NAME] var v = CALCULATETABLE(filter(all('Table'),'Table'[NAME]=n && 'Table'[DONE]="NOT")) return CONCATENATEX(v,[CLASS],",") - tarocha
Helper II
Estaba usando el filtro equivocado para la tercera condición, en lugar de usar el valor de la palabra . estaba usando &&.
Ahora trabajando.Este es el código
Column = if('Table'[DONE]="NOT"&&'Table'[CLASS]="CLASS 1" && MAXX(FILTER('Table','Table'[NAME]=EARLIER('Table'[NAME])&&('Table'[CLASS]="CLASS 2"||'Table'[CLASS]="CLASS 3")),'Table'[DONE])="NOT","Not for class1&2&3", if('Table'[DONE]="NOT"&&'Table'[CLASS]="CLASS 1" && MAXX(FILTER('Table','Table'[NAME]=EARLIER('Table'[NAME])&&'Table'[CLASS]="CLASS 2"),'Table'[DONE])="NOT","Not for class1&2", if('Table'[DONE]="NOT"&&'Table'[CLASS]="CLASS 2" && MAXX(FILTER('Table','Table'[NAME]=EARLIER('Table'[NAME])&&'Table'[CLASS]="CLASS 3"),'Table'[DONE])="NOT","Not for class2&3", "")))- AnonymousNot applicable
Hola @tarocha ,
Gracias por compartir los códigos. Si el problema se ha resuelto, ¿podrías marcar tu publicación como Respondida? Ayudará a los demás en la comunidad a encontrar la solución fácilmente si se enfrentan al mismo problema con usted. Gracias.
Saludos
Rena