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.
Saludos encantadores memebers,
digamos que tengo una tabla donde contiene la lista del alumno, su nota para cada asignatura y el número de mes.
Estoy intentando crear una columna calculada ( ejemplo: Max_value columna en la imagen de abajo)
esta columna contendrá la nota máxima para cada estudiante en cada mes.
Pude obtener el valor máximo para cada estudiante, pero t no puedo obtener el máximo para cada mes también.
A continuación se muestra mi salida, como puede ver Max_value columna es lo que estoy tratando de lograr. Gracias a todos de antemano
Solved! Go to Solution.
Hay @Rfrikha1992,
Siga estos pasos:
1. Agregue una columna de índice:
2. Use RANKX() para clasificar por marca en función de cada número de mes e ID de estudiante:
Rank by Mark =
RANKX (
FILTER (
'Table',
[Month Number] = EARLIER ( 'Table'[Month Number] )
&& [Student ID] = EARLIER ( 'Table'[Student ID] )
),
[Mark],
,
DESC,
DENSE
)
3. Utilice RANKX() de nuevo para clasificar en función de la columna Rango y la columna Índice:
Max_Value =
VAR _rank2 =
RANKX (
FILTER (
'Table',
[Month Number] = EARLIER ( 'Table'[Month Number] )
&& [Student ID] = EARLIER ( 'Table'[Student ID] )
),
[Rank by Mark] * 10 + [Index],
,
ASC,
DENSE
)
RETURN
IF ( _rank2 = 1, [Mark], BLANK () )
Aquí está el resultado final:
Saludos
Eyelyn Qin
Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Hay @Rfrikha1992,
Siga estos pasos:
1. Agregue una columna de índice:
2. Use RANKX() para clasificar por marca en función de cada número de mes e ID de estudiante:
Rank by Mark =
RANKX (
FILTER (
'Table',
[Month Number] = EARLIER ( 'Table'[Month Number] )
&& [Student ID] = EARLIER ( 'Table'[Student ID] )
),
[Mark],
,
DESC,
DENSE
)
3. Utilice RANKX() de nuevo para clasificar en función de la columna Rango y la columna Índice:
Max_Value =
VAR _rank2 =
RANKX (
FILTER (
'Table',
[Month Number] = EARLIER ( 'Table'[Month Number] )
&& [Student ID] = EARLIER ( 'Table'[Student ID] )
),
[Rank by Mark] * 10 + [Index],
,
ASC,
DENSE
)
RETURN
IF ( _rank2 = 1, [Mark], BLANK () )
Aquí está el resultado final:
Saludos
Eyelyn Qin
Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
¡Funciona perfectamente! Gracias
@Rfrikha1992 - No es exactamente la salida que está buscando, pero los cálculos son correctos.
Max_Value =
VAR student = TableName[Student ID]
VAR monthNum = TableName[Month Number]
VAR Result =
CALCULATE(
MAX(TableName[Mark]),
FILTER(
TableName,
TableName[Student ID] = student
),
KEEPFILTERS(TableName[Month Number] = monthNum)
)
Return
Result
Month Max_Value =
VAR monthNum = TableName[Month Number]
VAR Result =
CALCULATE(
MAX(TableName[Mark]),
FILTER(
TableName,
TableName[Month Number] = monthNum
)
)
Return
Result
por desgracia no es la salida que estoy buscando.
lo que necesito es para cada mes el rango más alto para cada estudiante como se muestra en la imagen de arriba.
@Rfrikha1992 - Parece que no puedo obtener el resultado esperado. Lo más cerca que pude llegar es a continuación:
Max_Value =
VAR student = TableName[Student ID]
VAR monthNum = TableName[Month Number]
VAR Result =
CALCULATE(
MAX(TableName[Mark]),
FILTER(
TableName,
TableName[Student ID] = student
),
KEEPFILTERS(TableName[Month Number] = monthNum)
)
Return
CALCULATE(
MAX(TableName[Mark]),
FILTER(
ALLEXCEPT(TableName,TableName[Mark]),
TableName[Mark] = Result
)
)
Esperemos que alguien más pueda mostrarnos a ambos cómo obtener el resultado deseado.
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 | |
2 | |
2 | |
2 | |
1 |