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.
Hola
Tengo un conjunto de datos que aparece como se muestra a continuación:
Id | Fecha | Puntuación |
1 | 1/01/2020 | 3 |
3 | 1/01/2020 | 2 |
4 | 1/01/2020 | 5 |
6 | 1/01/2020 | 4 |
1 | 2/02/2020 | 2 |
3 | 2/02/2020 | 3 |
4 | 2/02/2020 | 5 |
6 | 2/02/2020 | 1 |
1 | 3/03/2020 | 5 |
3 | 3/03/2020 | 3 |
4 | 3/03/2020 | 4 |
6 | 3/03/2020 | 1 |
1 | 4/04/2020 | 2 |
3 | 4/04/2020 | 5 |
4 | 4/04/2020 | 2 |
6 | 4/04/2020 | 4 |
El resultado esperado es:
Id | Primera puntuación | Puntuación más reciente | Segunda puntuación más reciente |
1 | 3 | 2 | 5 |
3 | 2 | 5 | 3 |
4 | 5 | 2 | 4 |
6 | 4 | 4 | 1 |
He trabajado en la primera y última puntuación con:
Solved! Go to Solution.
Hola @Nickb167 ,
Según mi opinión, desea mostrar Score basado en la última fecha, la segunda fecha más reciente y la primera fecha, ¿verdad?
Puede usar la siguiente fórmula:
rank =
RANKX (
FILTER (
ALL ( LastDateTable ),
'LastDateTable'[ID] = MAX ( 'LastDateTable'[ID] )
),
CALCULATE ( MAX ( ( LastDateTable[Date] ) ) ),
,
ASC
)
First Score =
CALCULATE ( MAX ( LastDateTable[Score] ), FILTER ( LastDateTable, [rank] = 1 ) )
Last Score =
CALCULATE (
MAX ( 'LastDateTable'[Score] ),
FILTER ( 'LastDateTable', [rank] = MAXX ( ALL ( LastDateTable ), [rank] ) )
)
Second Last Score =
CALCULATE (
MAX ( 'LastDateTable'[Score] ),
FILTER ( 'LastDateTable', [rank] = MAXX ( ALL ( LastDateTable ), [rank] - 1 ) )
)
Mi visualización tiene este aspecto:
¿He respondido a tu pregunta? Por favor, marque mi respuesta como solución. Muchas gracias.
Si no es así, cargue algunas muestras de datos insensibles y la salida esperada.
Saludos
Eyelyn Qin
Hola @Nickb167 ,
Según mi opinión, desea mostrar Score basado en la última fecha, la segunda fecha más reciente y la primera fecha, ¿verdad?
Puede usar la siguiente fórmula:
rank =
RANKX (
FILTER (
ALL ( LastDateTable ),
'LastDateTable'[ID] = MAX ( 'LastDateTable'[ID] )
),
CALCULATE ( MAX ( ( LastDateTable[Date] ) ) ),
,
ASC
)
First Score =
CALCULATE ( MAX ( LastDateTable[Score] ), FILTER ( LastDateTable, [rank] = 1 ) )
Last Score =
CALCULATE (
MAX ( 'LastDateTable'[Score] ),
FILTER ( 'LastDateTable', [rank] = MAXX ( ALL ( LastDateTable ), [rank] ) )
)
Second Last Score =
CALCULATE (
MAX ( 'LastDateTable'[Score] ),
FILTER ( 'LastDateTable', [rank] = MAXX ( ALL ( LastDateTable ), [rank] - 1 ) )
)
Mi visualización tiene este aspecto:
¿He respondido a tu pregunta? Por favor, marque mi respuesta como solución. Muchas gracias.
Si no es así, cargue algunas muestras de datos insensibles y la salida esperada.
Saludos
Eyelyn Qin
Hola @Nickb167 ,
Creo que la siguiente tabla es lo que quieres:
Agredo una columna de índice en la tabla y las medidas son:
First Score = CALCULATE(SUM('Table (2)'[Score]), FILTER(ALL('Table (2)'[ID],'Table (2)'[Index]),'Table (2)'[Index] = MIN('Table (2)'[Index])))
Last Score = CALCULATE(SUM('Table (2)'[Score]), FILTER(ALL('Table (2)'[ID],'Table (2)'[Index]),'Table (2)'[Index] = MAX('Table (2)'[Index])))
Second Last Score = CALCULATE(SUM('Table (2)'[Score]), FILTER(ALL('Table (2)'[ID],'Table (2)'[Index]),'Table (2)'[Index] = MAXX(FILTER('Table (2)','Table (2)'[Index] < MAX('Table (2)'[Index])),'Table (2)'[Index])))
Mesa:
Por favor, inténtelo.
Aiolos Zhao
Proud to be a Super User!
Tratar
last á lastnonblankvalue(Table[Date], sum(Table[Score]))
Segundo último ?
var _max á maxx(allselected(Date[Date]), Date[Date])
devolución
calculate(lastnonblankvalue(Table[Date], sum(Table[Score])), filter(allselected(Table), Table[Date] <_max))
First - Firstnonblankvalue(Table[Date], sum(Table[Score]))
En segundo lugar,
var _max á maxx(allselected(Date[Date]), Date[Date])
devolución
calculate(Firstnonblankvalue(Table[Date], sum(Table[Score])), filter(allselected(Table), Table[Date] <_max))
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 |