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.
Necesito calcular las siguientes condiciones con un conjunto de datos en el que en última instancia recibiré una respuesta final distinta para cada ID (cada ID contiene 6 preguntas cada uno):
Preguntas 1-5 | Pregunta 6 | Respuesta final |
CUALQUIERA " No" | "No" | NO |
TODO " "Sí" O "n/a" | "No" | NO |
CUALQUIERA " No" | "Sí" O "n/a" | quizás |
TODO " "Sí" O "n/a" | "Sí" O "n/a" | Sí |
CONJUNTO DE DATOS DE EJEMPLO
Id | Pregunta # | Respuesta |
1 | 1 | Sí |
1 | 2 | Sí |
1 | 3 | No |
1 | 4 | Sí |
1 | 5 | No |
1 | 6 | Sí |
2 | 1 | Sí |
2 | 2 | Sí |
2 | 3 | Sí |
2 | 4 | Sí |
2 | 5 | Sí |
2 | 6 | No |
3 | 1 | n/a |
3 | 2 | No |
3 | 3 | Sí |
3 | 4 | No |
3 | 5 | Sí |
3 | 6 | Sí |
El resultado después de que se hayan aplicado las condiciones se agruparía algo así como:
Id | Respuesta final |
1 | Sí |
2 | quizás |
3 | No |
(la respuesta final anterior no es exacta con las condiciones para cada ID, pero simplemente compartir para dar una idea de cómo debe ser el resultado final)
Cualquier ayuda o punteros en la dirección correcta sería muy apreciado!!
¡Gracias!
Aquí está la versión simplificada
FinalAnswer =
var _onetofive= COMBINEVALUES(",",'Table'[Question 1],'Table'[Question 2],'Table'[Question 3],'Table'[Question 4],'Table'[Question 5])
var _six='Table'[Question 6]
var _condition1= IF(CONTAINSSTRING(_onetofive,"No") && (_six="No"),"NO")
var _condition2= IF(NOT(CONTAINSSTRING(_onetofive,"No")) && (_six="No"),"NO")
var _condition3= IF(CONTAINSSTRING(_onetofive,"No") && (_six IN {"Yes","n/a"}),"MAYBE")
var _condition4=IF(NOT(CONTAINSSTRING(_onetofive,"No")) &&(_six IN {"Yes","n/a"}),"YES")
VAR _result =
SWITCH (
TRUE (),
NOT (
ISBLANK ( _condition1 )
), _condition1,
NOT (
ISBLANK ( _condition2 )
), _condition2,
NOT (
ISBLANK ( _condition3 )
), _condition3,
NOT (
ISBLANK ( _condition4 )
), _condition4,
"Not satisfied"
)
RETURN
_result
¿Respondí a tu pregunta? ¡Marca mi puesto como solución!
Apreciar con un kudos🙂
Tal vez algo como el PBIX adjunto.
The Final Answer =
VAR __Answer6 = MAXX(FILTER('Table',[Question #]=6),[Answer])
VAR __Nos = COUNTROWS(FILTER('Table',[Answer]="No"))
VAR __Yes = COUNTROWS(FILTER('Table','Table'[Answer]="Yes"))
VAR __Answers = SELECTCOLUMNS('Table',"Answer",[Answer])
RETURN
SWITCH(TRUE(),
"No" IN __Answers || __Answer6 = "No","NO",
NOT("No" IN __Answers) || __Answer6 = "No","NO",
"No" IN __Answers && (__Answer6 = "Yes" || __Answer6 = "n/a"),"MAYBE",
NOT("No" IN __Answers) && (__Answer6 = "Yes" || __Answer6 = "n/a"),
"I'm sorry Dave, I can't do that"
)
Gracias Dave!
He pivotado la tabla y ahora estoy tratando de aplicar lo que compartió a esto:
Id | Pregunta 1 | Pregunta 2 | Pregunta 3 | Pregunta 4 | Pregunta 5 | Pregunta 6 | Respuesta final |
1 | Sí | Sí | Sí | Sí | Sí | n/a | |
2 | Sí | No | n/a | n/a | n/a | No | |
3 | Sí | No | No | No | No | No | |
4 | n/a | No | Sí | Sí | No | Sí | |
5 | No | No | No | No | No | No | |
6 | Sí | Sí | Sí | No | Sí | Sí | |
7 | n/a | n/a | No | Sí | No | No | |
8 | Sí | Sí | Sí | Sí | Sí | Sí | |
9 | No | No | No | No | No | Sí | |
10 | n/a | Sí | n/a | Sí | Sí | Sí |
Sin embargo, seguí recibiendo una tabla de varios valores se proporcionó error...
¿Puedes ayudar?
Final Answer =
VAR _condition1 =
IF (
( 'Table'[Question 1] = "No"
|| 'Table'[Question 2] = "No"
|| 'Table'[Question 3] = "No"
|| 'Table'[Question 4] = "No"
|| 'Table'[Question 5] = "No" )
&& ( 'Table'[Question 6] = "No" ),
"NO"
)
VAR _condition2 =
IF (
( 'Table'[Question 1]
IN {
"Yes",
"n/a"
}
&& 'Table'[Question 2]
IN {
"Yes",
"n/a"
}
&& 'Table'[Question 3]
IN {
"Yes",
"n/a"
}
&& 'Table'[Question 4]
IN {
"Yes",
"n/a"
}
&& 'Table'[Question 5]
IN {
"Yes",
"n/a"
} )
&& ( 'Table'[Question 6] = "No" ),
"NO"
)
VAR _condition3 =
IF (
( 'Table'[Question 1] = "No"
|| 'Table'[Question 2] = "No"
|| 'Table'[Question 3] = "No"
|| 'Table'[Question 4] = "No"
|| 'Table'[Question 5] = "No" )
&& ( 'Table'[Question 6]
IN {
"Yes",
"n/a"
} ),
"MAYBE"
)
VAR _condition4 =
IF (
( 'Table'[Question 1]
IN {
"Yes",
"n/a"
} )
&& ( 'Table'[Question 2]
IN {
"Yes",
"n/a"
} )
&& ( 'Table'[Question 3]
IN {
"Yes",
"n/a"
} )
&& ( 'Table'[Question 4]
IN {
"Yes",
"n/a"
} )
&& ( 'Table'[Question 5]
IN {
"Yes",
"n/a"
} )
&& ( 'Table'[Question 6]
IN {
"Yes",
"n/a"
} ),
"YES"
)
VAR _result =
SWITCH (
TRUE (),
NOT (
ISBLANK ( _condition1 )
), _condition1,
NOT (
ISBLANK ( _condition2 )
), _condition2,
NOT (
ISBLANK ( _condition3 )
), _condition3,
NOT (
ISBLANK ( _condition4 )
), _condition4,
"Not satisfied"
)
RETURN
_result
¿Respondí a tu pregunta? ¡Marca mi puesto como solución!
Apreciar con un kudos🙂
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |