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

View all the Fabric Data Days sessions on demand. View schedule

Reply
zenisekd
Super User
Super User

FORMAT function trouble

Hi, I have a situation, where 
I have a simple relation between product and sales order line.

zenisekd_0-1702043203286.png


SO line contains subtotal value by order currency(currency sold to customer) and company currency (value in currency of selected company). There are multiple companies with different currencies. 

When I display Order code, product and value I get  this table, which is fine.: 

zenisekd_2-1702043503363.png

Now, when I want to see this value formated in company currency I tried to use this dax function:

Order Value =
 format (
        calculate (
            sum ( sale_order_line[Subtotal by Company Currency] ),
            sale_order_line,sale_order_line[state]  IN {"draft", "sent"}
            )
            , "# ##0.0 " & SELECTEDVALUE(sale_order_line[company_currency_symbol])
      )



This is what I get: the product, linked form product table multiplies for some reason (cartesian merge)...

zenisekd_3-1702043540850.png

 

After some testing I found out that it is caused by the FORMAT function. Whenever I add FORMAT in any form even using just (

"currency") and there is product column included in the table, it does this. 

Could anyone tell me, why is it happening?
1 ACCEPTED SOLUTION
zenisekd
Super User
Super User

I managed to fix this with dynamic formatting. Genius tool I forgot about.
https://www.sqlbi.com/articles/introducing-dynamic-format-strings-for-dax-measures/

View solution in original post

3 REPLIES 3
zenisekd
Super User
Super User

I managed to fix this with dynamic formatting. Genius tool I forgot about.
https://www.sqlbi.com/articles/introducing-dynamic-format-strings-for-dax-measures/

Ahmedx
Super User
Super User

did you try this

format (
        calculate (
            sum ( sale_order_line[Subtotal by Company Currency] ),
            sale_order_line,sale_order_line[state]  IN {"draft", "sent"}
            )
            , "# ##0.0 ") & SELECTEDVALUE(sale_order_line[company_currency_symbol])

 

 

I did not, because it converts the value to text, which makes it useless for further calculations. 
Also, it keeps multiplying the rows.

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors
Top Kudoed Authors