Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Que tal amigos, estoy tratando de hacer una medida en DAX donde quiero obtener la variación y el porcentaje de incremento de una fila con respecto al dato anterior (generalmente es en horas), mi tabla de fechas contine las horas del registro.
Ejemplo:
ID | DATE | HOUR | DATE_ALL | RESULTANTE | VARIATION | PERCENTAGE |
SE-101 | 03/05/2022 | 02:25:08 a. m. | 03/05/2022 02:25 | 218 | ||
SE-101 | 03/05/2022 | 03:14:16 a. m. | 03/05/2022 03:14 | 217 | -1.00 | -0.46% |
SE-101 | 03/05/2022 | 04:15:48 a. m. | 03/05/2022 04:15 | 220 | 3.00 | 1.38% |
SE-101 | 03/05/2022 | 05:15:30 a. m. | 03/05/2022 05:15 | 215 | -5.00 | -2.27% |
SE-101 | 03/05/2022 | 06:14:39 a. m. | 03/05/2022 06:14 | 219 | 4.00 | 1.86% |
LF-121 | 03/05/2022 | 02:27:59 a. m. | 03/05/2022 02:27 | 150 | ||
LF-121 | 04/05/2022 | 03:17:10 a. m. | 04/05/2022 03:17 | 155 | 5.00 | 3.33% |
LF-121 | 05/05/2022 | 04:19:34 a. m. | 05/05/2022 04:19 | 156 | 1.00 | 0.65% |
LF-121 | 05/05/2022 | 05:18:27 a. m. | 05/05/2022 05:18 | 158 | 2.00 | 1.28% |
LF-121 | 06/05/2022 | 06:19:17 a. m. | 06/05/2022 06:19 | 160 | 2.00 | 1.27% |
Realizado en Excel, a estos resultados quiero llegar, corresponde a las dos últimas columnas (VARIATION y PORCENTAGE).
Variation: dato actual (o último) menos el anterior.
Porcentage: dato actual (o último) entre el anterior, el resultado menos 1.
Agradezco cualquier aporte!
Saludos desde México!
Solved! Go to Solution.
Hi @Spawebin
Thanks for reaching out to us.
you can try this, create 2 measures,
VARIATION mea =
var _pre=CALCULATE(MAX('Table'[DATE_ALL]),FILTER(ALL('Table'),'Table'[ID]=MIN('Table'[ID]) && 'Table'[DATE_ALL]<MIN('Table'[DATE_ALL])))
var _preRES=CALCULATE(MAX('Table'[RESULTANTE]),FILTER(ALL('Table'),'Table'[ID]=MIN('Table'[ID]) && 'Table'[DATE_ALL]=_pre))
return IF(ISBLANK( _preRES),BLANK(), MIN('Table'[RESULTANTE])-_preRES)
PRECENTAGE mea =
var _pre=CALCULATE(MAX('Table'[DATE_ALL]),FILTER(ALL('Table'),'Table'[ID]=MIN('Table'[ID]) && 'Table'[DATE_ALL]<MIN('Table'[DATE_ALL])))
var _preRES=CALCULATE(MAX('Table'[RESULTANTE]),FILTER(ALL('Table'),'Table'[ID]=MIN('Table'[ID]) && 'Table'[DATE_ALL]=_pre))
return IF(ISBLANK( _preRES),BLANK(),DIVIDE( MIN('Table'[RESULTANTE]),_preRES)-1)
result
Best Regards,
Community Support Team _Tang
If this post helps, please consider Accept it as the solution to help the other members find it more quickly.
Buenos Dias Comunidad, Tengo un problema similar sin embargo mi complejidad es que necesito sacar la variacion con respecto a una medida, la estructura de mi tabla es asi:
son multiples ubicaciones y ciudades y necesito sacar una variacion de cada columna o en su defecto de la medida resultante de ellas. He intentado todos los medios incluidos los IA y no doy con la respuesta adecuada. Solicito de ayuda
Awsom!!!
😁
Great contribution, thanks!!!
Hi @Spawebin
Thanks for reaching out to us.
you can try this, create 2 measures,
VARIATION mea =
var _pre=CALCULATE(MAX('Table'[DATE_ALL]),FILTER(ALL('Table'),'Table'[ID]=MIN('Table'[ID]) && 'Table'[DATE_ALL]<MIN('Table'[DATE_ALL])))
var _preRES=CALCULATE(MAX('Table'[RESULTANTE]),FILTER(ALL('Table'),'Table'[ID]=MIN('Table'[ID]) && 'Table'[DATE_ALL]=_pre))
return IF(ISBLANK( _preRES),BLANK(), MIN('Table'[RESULTANTE])-_preRES)
PRECENTAGE mea =
var _pre=CALCULATE(MAX('Table'[DATE_ALL]),FILTER(ALL('Table'),'Table'[ID]=MIN('Table'[ID]) && 'Table'[DATE_ALL]<MIN('Table'[DATE_ALL])))
var _preRES=CALCULATE(MAX('Table'[RESULTANTE]),FILTER(ALL('Table'),'Table'[ID]=MIN('Table'[ID]) && 'Table'[DATE_ALL]=_pre))
return IF(ISBLANK( _preRES),BLANK(),DIVIDE( MIN('Table'[RESULTANTE]),_preRES)-1)
result
Best Regards,
Community Support Team _Tang
If this post helps, please consider Accept it as the solution to help the other members find it more quickly.
User | Count |
---|---|
92 | |
85 | |
76 | |
66 | |
62 |
User | Count |
---|---|
110 | |
96 | |
95 | |
64 | |
57 |