Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

July 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more

Reply
Anonymous
Not applicable

Subtracting rows

Hi All,

 

I would like to subtract lines in Power BI.

 

Substract lines based on product id and ship date. "After shipping "is calculated column which values are correct only for 1 line.

Capture2.JPG

 

I would like to get below result.

 

Capture.JPG

Let me know if you need any informations.

 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

@Anonymous ,

We don't need to create Table2. Please group Material in Power BI Desktop query editor, then create the following columns in table1. For more details, please check attached PBIX file.

shipcum = CALCULATE(SUM (Table1[To Ship] ),
    ALLEXCEPT( Table1,Table1[Material]),
    Table1[Index] <= EARLIER ( Table1[Index] ))
Column = CALCULATE(MAX(Table1[Inventory on Hand]),ALLEXCEPT(Table1,Table1[Material]),Table1[Index]=1)
After shipping = Table1[Column]-Table1[shipcum]



Regards,
Lydia

View solution in original post

6 REPLIES 6
Anonymous
Not applicable

@Anonymous ,

Please create the following columns in your table.

Column = 
CALCULATE (
    SUM ( Table[To ship] ),
    ALLEXCEPT( Table,Table[Product]),
    Table[Date] <= EARLIER (  Table[Date] )
)
after shipping = Table[Inventory]-Table[Column]

1.PNG

Regards,
Lydia

Anonymous
Not applicable

Hi Lydia,

 

It looks like below, using above. Any idea what is wrong?

 

Capture1.JPG

 

//Rasty

Anonymous
Not applicable

@Anonymous ,

Please firstly create a new table using dax below.

Table2 = SUMMARIZE(Table1,Table1[Material],Table1[Ship Date],"To ship all",SUM(Table1[To Ship]),"Inventory on Hand all", MAX(Table1[Inventory on Hand]))


Create the following columns in Table2.

mergecol = Table2[Material]&Table2[Ship Date]
Column = 
CALCULATE (
    SUM ( Table2[To ship all] ),
    ALLEXCEPT( Table2,Table2[Material]),
    Table2[Ship Date] <= EARLIER ( Table2[Ship Date] )
)

 

after shipping = Table2[Inventory on Hand all]-Table2[Column]


Create the following column in Table1.

mergecol = Table1[Material]&Table1[Ship Date]


Create relationship between tables using mergecol field. Then create a table visual as below. For more details, please check attached PBIX file.
1.png


Regards,
Lydia

Anonymous
Not applicable

Hi Lydia,

 

This is very impresive, very close but, I would desire more as below.

Capture.JPG

Thanks.

 

Anonymous
Not applicable

@Anonymous ,

We don't need to create Table2. Please group Material in Power BI Desktop query editor, then create the following columns in table1. For more details, please check attached PBIX file.

shipcum = CALCULATE(SUM (Table1[To Ship] ),
    ALLEXCEPT( Table1,Table1[Material]),
    Table1[Index] <= EARLIER ( Table1[Index] ))
Column = CALCULATE(MAX(Table1[Inventory on Hand]),ALLEXCEPT(Table1,Table1[Material]),Table1[Index]=1)
After shipping = Table1[Column]-Table1[shipcum]



Regards,
Lydia

Anonymous
Not applicable

@Anonymous ,

Could you please export the data of your table to Excel and share me the Excel? You can replace confidential data with dummy data.

Regards,
Lydia

Helpful resources

Announcements
FabCon and SQLCon Barcelona 2026

FabCon & SQLCon – Barcelona 2026

Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.

60 days of Data Days Carousel

Data Days 2026

Join Fabric Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.