Forum Discussion
Restar dos filas
- 6 years ago
Hola @ehsanbh ,
Perdón por responder tarde.
Para la pregunta 1:
Si tiene alrededor de 25-30 parámetros similares en este conjunto de datos, podría considerar la creación de medida en lugar de columna calculada para realizar esto porque la columna calculada ocupará la memoria real. La medida será así:
Measure = VAR a = SUM ( 'Table'[Index] ) - 1 VAR previous = CALCULATE ( MAX ( 'Table'[EL,AX12(MWh)] ), FILTER ( ALL ( 'Table' ), 'Table'[Index] = a ) ) RETURN IF ( ISBLANK ( previous ), 0, SUM ( 'Table'[EL,AX12(MWh)] ) - previous )Para la pregunta 2:
Columna calculada:
Column = VAR _lastrow = CALCULATE ( SUM ( 'Table'[EL,AX12(MWh)] ), FILTER ( ALL ( 'Table' ), 'Table'[Index] = EARLIER ( 'Table'[Index] ) - 1 ) ) RETURN IF ( ISBLANK ( _lastrow ), 0, [EL,AX12(MWh)] - _lastrow )La medida está en lo anterior. Aquí está el resultado mediante el uso de la medida:
Adjunto un archivo de muestra en el siguiente, espera ayudarle.
Best Looks,
Yingjie LiSi este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@ehsanbh , La información que ha proporcionado no está des aclarando el problema para mí. Por favor, puede explicar con un ejemplo.
No hay nada como la fila anterior en Power BI. Ahora si usted mide /paso /año /semana no. O cualquier no incremental o rango que puede usar rango o número para la fila anterior. La condición es que usted tiene que mover eso a una nueva tabla y usarlo para construir la actual anterior
ejemplo en el caso de la semana (paso/metro). Una nueva columna en la tabla semana/fecha
nueva columna
Rango de la semana - RANKX(all('Date'),'Date'[Week Start date],,ASC,Dense)
nuevas medidas
Esta semana: CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]-max('Date'[Week Rank])))
Last Week ? CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]-max('Date'[Week Rank])-1))
Apreciamos tus Felicitaciones.
- Anonymous6 years agoNot applicable
Sorry to be confusing! Here is one example. I guess I have solved it half a way! I have EL, AX12 (MWh), which is electricity meter values (adding on previous value on hourly base) and I need a new column for absolute consumption for each specific hour. In this case I need to subtract the value of each row from the previous one.
I have used below DAX formula for a new calculated column and actually it works to some extent:
EL, AX12, abs =
raw_measurement[EL, AX12 (MWh)]
- CALCULATE (
SUM ( raw_measurement[EL, AX12 (MWh)] ),
FILTER ( raw_measurement, raw_measurement[Index] = EARLIER ( raw_measurement[Index] ) - 1 )
)
Two questions:
1- I have around 25-30 similar parameters in this data set. Is this the way to go forward? I mean creating a calculated column for each parameter? Or is there a more efficient way to perform this?
2- As you see the first value has not been changed. How can I change the code to have zero for the first value?
- v-yingjl6 years ago
Community Support
Hola @ehsanbh ,
Perdón por responder tarde.
Para la pregunta 1:
Si tiene alrededor de 25-30 parámetros similares en este conjunto de datos, podría considerar la creación de medida en lugar de columna calculada para realizar esto porque la columna calculada ocupará la memoria real. La medida será así:
Measure = VAR a = SUM ( 'Table'[Index] ) - 1 VAR previous = CALCULATE ( MAX ( 'Table'[EL,AX12(MWh)] ), FILTER ( ALL ( 'Table' ), 'Table'[Index] = a ) ) RETURN IF ( ISBLANK ( previous ), 0, SUM ( 'Table'[EL,AX12(MWh)] ) - previous )Para la pregunta 2:
Columna calculada:
Column = VAR _lastrow = CALCULATE ( SUM ( 'Table'[EL,AX12(MWh)] ), FILTER ( ALL ( 'Table' ), 'Table'[Index] = EARLIER ( 'Table'[Index] ) - 1 ) ) RETURN IF ( ISBLANK ( _lastrow ), 0, [EL,AX12(MWh)] - _lastrow )La medida está en lo anterior. Aquí está el resultado mediante el uso de la medida:
Adjunto un archivo de muestra en el siguiente, espera ayudarle.
Best Looks,
Yingjie LiSi este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
- marandlo3 years agoNew Member
Muchas gracias, muy bueno el código. Se agradece mucho.