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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Anonymous
Not applicable

measure to sum column B if column A meets criteria otherwise sum column C

Hi,

I have a table like

 

Table_Test = 
DATATABLE
        (
        "name"      , STRING , 
        "Status"    , STRING ,
        "price"     , INTEGER ,
        "cost"      , INTEGER ,
        {
            {"A", "sold", 200, 100},
            {"A", "onHand", 200, 100},
            {"B","sold", 300, 150},
            {"B","onHand", 300,150}
        }    
        ) 

 

I want to create a measure like this:

 

Total cash = IF( [Status] = "sold", SUM([price]), SUMX(Table_Test, [cost] * -1) ) ​

 

of course, it can not work since [status] is not in row-context.  

And I do not want to new a column like this:

 

cash = IF([Status] = "sold", [price], [cost]*-1)

 

then sum it to realize my wish.
appreciate help, thanks!
2 ACCEPTED SOLUTIONS
amitchandak
Super User
Super User

@Anonymous , if they are from one table

sumx(Table_Test,IF( Table_Test[Status] = "sold", (Table_Test[price]), Table_Test[cost] * -1 ) )​

View solution in original post

az38
Community Champion
Community Champion

Hi @Anonymous 

try

sumx( Table_Test,
           IF( Table_Test[Status] = "onHand",
                Table_Test[cost] * -1,
                IF(Table_Test[price] > 0, [price], 0)
           )
)

do not hesitate to give a kudo to useful posts and mark solutions as solution
LinkedIn

View solution in original post

4 REPLIES 4
amitchandak
Super User
Super User

@Anonymous , if they are from one table

sumx(Table_Test,IF( Table_Test[Status] = "sold", (Table_Test[price]), Table_Test[cost] * -1 ) )​

Anonymous
Not applicable

@amitchandak,

 

thanks you!!!

 

how about if I want to consider cost but ignore price if it is negetive when do sum, for example

 

 

Table_Test = 
DATATABLE
        (
        "name"      , STRING , 
        "Status"    , STRING ,
        "price"     , INTEGER ,
        "cost"      , INTEGER ,
        {
            {"A", "sold", 200, 100},
            {"A", "onHand", 200, 100},
            {"B","sold", 300, 150},
            {"B","onHand", 300,150},
            {"oil20200426", "won'tsold", -50, 100}
        }    
        ) 

 

 

 

 

 

 

how to realiza something like
sumx( Table_Test,
           IF( Table_Test[Status] = "onHand",
                Table_Test[cost] * -1,
                Table_Test[price] when [price] is positive)
           )
)​?

az38
Community Champion
Community Champion

Hi @Anonymous 

try

sumx( Table_Test,
           IF( Table_Test[Status] = "onHand",
                Table_Test[cost] * -1,
                IF(Table_Test[price] > 0, [price], 0)
           )
)

do not hesitate to give a kudo to useful posts and mark solutions as solution
LinkedIn
AllisonKennedy
Super User
Super User

You can use the FILTER function instead.

 

Something like: 

Total cash = SUMX(FILTER(Table_Test, Table_Test[Status]= "sold"), Table_Test[price]) - SUMX(FILTER(Table_Test, Table_Test[status]<>"sold"),Table_Test[cost])

Has this post solved your problem? Please mark it as a solution so that others can find it quickly and to let the community know your problem has been solved. 

 

If you found this post helpful, please give Kudos.

I work as a trainer and consultant for Microsoft 365, specialising in Power BI and Power Query. 

https://sites.google.com/site/allisonkennedycv

 


Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.