Forum Discussion
Valores Delta
Hola
¿Cómo calcularía los valores Delta derivados de una fecha en combinación con ID:
| Date | ID | Valores | Delta-values |
| DD-MM-AAAA 12:00 | 1 | 88 | |
| DD-MM-AAAA 12:00 | 2 | 23 | |
| DD-MM-AAAA 12:15 | 1 | 89 | 1 |
| DD-MM-AAAA 12:15 | 2 | 25 | 2 |
- Anonymous5 years ago
Hola @Blaest ,
Estos son los pasos que puede seguir:
1. Aumente el índice a través de la consulta de potencia
2. Cree una columna calculcada.
Delta-values = var _lastindex= CALCULATE(MAX('Table'[Index]),FILTER(ALL('Table'),[Metern]=EARLIER([Metern])&&[Index]<EARLIER([Index]))) var _lastdata= CALCULATE(SUM('Table'[Data]),FILTER('Table',[Index]=_lastindex)) return IF(_lastindex=BLANK(),BLANK(),[Data]-_lastdata)3. Resultado.
Puede descargar el archivo PBIX desde aquí.
Saludos
Liu Yang
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
9 Replies
- amitchandak
Super User
@Blaest , Probar fórmula
Column = var _1 = MAXX(FILTER('Table',[ID] =EARLIER('Table'[ID]) && [Date] <EARLIER('Table'[Date])), LASTNONBLANKVALUE('Table'[Date],'Table'[Values])) return if( ISBLANK(_1), BLANK(),[Values]-_1) - AnonymousNot applicable
Hola @Blaest ,
Estos son los pasos que puede seguir:
1. Cree una columna calculcada.
Delta-values = var _max=MAX('Table'[Date]) var _min=MIN('Table'[Date]) var _1= CALCULATE(SUM('Table'[Values]),FILTER('Table','Table'[Date]=_max&&'Table'[ID]=EARLIER('Table'[ID]))) - CALCULATE(SUM('Table'[Values]),FILTER('Table','Table'[Date]=_min&&'Table'[ID]=EARLIER('Table'[ID]))) return IF('Table'[Date]=_min,BLANK(),_1)2. Resultado.
Puede descargar el archivo PBIX desde aquí.
Saludos
Liu Yang
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
- AnonymousNot applicable
Gracias Liu,
Seguí sus pasos, y también terminé con una columna - sin embargo los valores parecen incorrectos y no refleja el valor delta esperado como en su ejemplo,
¿Dónde me equivoqué?
- AnonymousNot applicable
El hecho de que puedas hacer algo no significa que debas hacerlo. Estas transformaciones de datos se realizan mejor (¡y son fáciles!) en Power Query. DAX debe utilizarse para crear columnas calculadas solo como el último recurso. Hay muchas razones detrás de esto, dos de ellas son mala compresión y la hinchazón del modelo si se hace a través de DAX. Utilice Power Query, la herramienta adecuada para el trabajo.
- AnonymousNot applicable
Daxer,
Todo eso tiene sentido,
Sin embargo, todavía necesitaría el código DAX para ello,
Cualquier entrada para el código DAX muy apreciado!
- AnonymousNot applicable
No, you don't need DAX. You need M - the language of Power Query. That's the whole point. DAX is for data analysis. M is for data munging.
- AnonymousNot applicable
Hola @Blaest ,
Estos son los pasos que puede seguir:
1. Aumente el índice a través de la consulta de potencia
2. Cree una columna calculcada.
Delta-values = var _lastindex= CALCULATE(MAX('Table'[Index]),FILTER(ALL('Table'),[Metern]=EARLIER([Metern])&&[Index]<EARLIER([Index]))) var _lastdata= CALCULATE(SUM('Table'[Data]),FILTER('Table',[Index]=_lastindex)) return IF(_lastindex=BLANK(),BLANK(),[Data]-_lastdata)3. Resultado.
Puede descargar el archivo PBIX desde aquí.
Saludos
Liu Yang
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.