Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
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))