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

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a $100 discount. Register Now

Reply
Lotfi96
Regular Visitor

Using Calculate function with special conditions

Hello,

 

I ran in a bit of an issue while trying to write a measure. Here's an example of currencies.

CountryCurrency
USAUSD
UKGBP

 

What I'm trying to do is calculate the sum of sales with different formulas depending on the currency, at first I tried doing things like this: 

 

K€ SUM = CALCULATE((SUM(Data[Sales])/1000),Data[Currency]<>"USD")

K€ USD = CALCULATE((SUM(Data[Sales])/10),Data[Currency]="USD") 

 

When using both of these measures in values field, I'll end up with double the inital number of columns on my visual and half of them are blank (because of the filters in the previous measures).

 

My question is: Is there a way to somehow combine these two measures into one experession while not having having blank columns?

 

Any help would be apreciated. 

 

1 ACCEPTED SOLUTION
parry2k
Super User
Super User

@Lotfi96 try this:

 

Sum = 
SUMX ( 
    Data, 
    VAR __Factor = IF ( Data[Current] = "USD", 10, 1000 )
    RETURN
        Data[Sales] / __Factor
)


Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

View solution in original post

3 REPLIES 3
parry2k
Super User
Super User

@Lotfi96 try this:

 

Sum = 
SUMX ( 
    Data, 
    VAR __Factor = IF ( Data[Current] = "USD", 10, 1000 )
    RETURN
        Data[Sales] / __Factor
)


Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

Thank you, it worked

ChiragGarg2512
Solution Sage
Solution Sage

Create a measure using if statement,

Sum = if(values(Data[Currency] <> "USD", Calculate(sum(data[sales])/1000), calculate(sum(data[sales])/10))

 

This easure can be wrong but it can give an idea on how to proceed.

 

Or, SWITCH statement can also be used.

Helpful resources

Announcements
Fabric Community Conference

Microsoft Fabric Community Conference

Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.

Fabric Career Hub

Microsoft Fabric Career Hub

Explore career paths and learn resources in Fabric.

Fabric Partner Community

Microsoft Fabric Partner Community

Engage with the Fabric engineering team, hear of product updates, business opportunities, and resources in the Fabric Partner Community.

Power BI Header Change

Power BI Header Update

Read about the exciting updates for the Power BI forum.