cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Helper II
Helper II

Restar dos filas

Estoy trabajando en un conjunto de datos, que incluye información de unos 30 metros. Estos medidores actuaron como contadores (leer datos, a continuación, añadir los valores en los anteriores lo que significa que todo el tiempo aumenta - por favor, mire los gráficos). Recibo esta información cada hora. Entonces necesito calcular el valor absoluto para esa hora. Para alcanzar este objetivo necesito restar cada fila de la fila anterior. ¿Puedo crear una medida general y usarla para cada una de las 30 columnas? Por favor, ¿puede compartir cualquier fórmula de ejemplo en DAX que pueda usar? ¿Cuál es la mejor y más eficiente manera de lidiar con esto?

01.JPG

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Community Support
Community Support

Re: Restar dos filas

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:

result.png

Adjunto un archivo de muestra en el siguiente, espera ayudarle.

Best Looks,
Yingjie Li

Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

3 REPLIES 3
Highlighted
Super User IX
Super User IX

Re: Restar dos filas

@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.




Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!
Dashboard of My Blogs !! YouTube Channel !! Connect on Linkedin

Proud to be a Super User!

Highlighted
Helper II
Helper II

Re: Restar dos filas

@amitchandak 

 

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 )

   )

 

02.JPG

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?  

Highlighted
Community Support
Community Support

Re: Restar dos filas

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:

result.png

Adjunto un archivo de muestra en el siguiente, espera ayudarle.

Best Looks,
Yingjie Li

Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Find your favorite faces from the community presenting at the Power Platform Community Conference!

Upcoming Events

Experience what’s next for Power BI

See the latest Power BI innovations, updates, and demos from the Microsoft Business Applications Launch Event.

secondImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

Get Ready for Power BI Dev Camp

Get Ready for Power BI Dev Camp

Mark your calendars and join us for our next Power BI Dev Camp!.

Top Solution Authors