<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Divide 2 columns from different tables in a Many to Many relationship in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Divide-2-columns-from-different-tables-in-a-Many-to-Many/m-p/1381713#M25251</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a scenario where I have to divide 2 column, one in one table and the other in another table, which are linked by a Many-to-Many Relationship, and I was hopping to get some help from you Dax geniuses out there, please.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Quick explanation of the scenario&lt;/STRONG&gt; : I have a transactions table, with sales, and these sales are in many different currencies. To convert them to a single currency, we have to divide the sales by the rate, which is in a second table rates.&lt;/P&gt;&lt;P&gt;There are 2 types of rates : an &lt;EM&gt;average rate per month&lt;/EM&gt;, and an&lt;EM&gt; average rate per year&lt;/EM&gt;. The link between the 2 tables is the period, and the currency. The relationship between the 2 tables is many to many ( Check model , please )&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;What I have tried so far&lt;/STRONG&gt;: I could make it work, in 2 different ways, but none completely satisfying :&lt;/P&gt;&lt;P&gt;&lt;EM&gt;1 ) Dax expression with SumX :&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Dividing the &lt;SPAN&gt;sum of sales&amp;nbsp;&lt;/SPAN&gt;by the sum of rates ( I must always have one selected rate type, so it's ok to sum the rates )&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CalculatedValue = Sum( 'Transactions'[Sales] ) /Sum( 'Rates'[RateValue] )&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&lt;SPAN&gt;Then applying a sumx on the Rate table :&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;SalesRateType = SUMX(VALUES('Transactions'[KeyColumn]), [CalculatedValue])&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;SPAN&gt;This works, but the performance is terrible. I have a transactions table with millions of records. Takes almost 1 minute to calculate YTD.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;2 ) Forcing a many to 1 relationship :&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;If I apply some modeling to the tables, I can make it a 1 to Many relationship and create a calculated column, which will give a good performance. But that involves joining both tables, and it takes ages, even with Chris Webb's ideas, it will still take more than 1 hour to join the tables.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;What I would like to know:&lt;/STRONG&gt; Is there any other way of doing this? I'd really appreciate some ideas that I can test.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Simplified Model&lt;/STRONG&gt;:&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Sales:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Period&lt;/TD&gt;&lt;TD&gt;Currency&lt;/TD&gt;&lt;TD&gt;Sales&lt;/TD&gt;&lt;TD&gt;KeyColumn&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202001&lt;/TD&gt;&lt;TD&gt;USD&lt;/TD&gt;&lt;TD&gt;55&lt;/TD&gt;&lt;TD&gt;202001USD&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202001&lt;/TD&gt;&lt;TD&gt;EUR&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;202001EUR&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202001&lt;/TD&gt;&lt;TD&gt;GBP&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;202001GBP&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201904&lt;/TD&gt;&lt;TD&gt;USD&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;TD&gt;201904USD&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201904&lt;/TD&gt;&lt;TD&gt;EUR&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;TD&gt;201904EUR&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201904&lt;/TD&gt;&lt;TD&gt;GBP&lt;/TD&gt;&lt;TD&gt;96&lt;/TD&gt;&lt;TD&gt;201904GBP&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202001&lt;/TD&gt;&lt;TD&gt;GBP&lt;/TD&gt;&lt;TD&gt;33&lt;/TD&gt;&lt;TD&gt;202001GBP&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202001&lt;/TD&gt;&lt;TD&gt;EUR&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;TD&gt;202001EUR&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;Rates:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;RateType&lt;/TD&gt;&lt;TD&gt;KeyColumn&lt;/TD&gt;&lt;TD&gt;RateValue&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgMonthRate&lt;/TD&gt;&lt;TD&gt;202001USD&lt;/TD&gt;&lt;TD&gt;55&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgMonthRate&lt;/TD&gt;&lt;TD&gt;202001EUR&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgMonthRate&lt;/TD&gt;&lt;TD&gt;202001GBP&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgMonthRate&lt;/TD&gt;&lt;TD&gt;201904USD&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgMonthRate&lt;/TD&gt;&lt;TD&gt;201904EUR&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgMonthRate&lt;/TD&gt;&lt;TD&gt;201904GBP&lt;/TD&gt;&lt;TD&gt;96&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgAnnualRate&lt;/TD&gt;&lt;TD&gt;201904USD&lt;/TD&gt;&lt;TD&gt;55&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgAnnualRate&lt;/TD&gt;&lt;TD&gt;201904EUR&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgAnnualRate&lt;/TD&gt;&lt;TD&gt;201904GBP&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgAnnualRate&lt;/TD&gt;&lt;TD&gt;202001USD&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgAnnualRate&lt;/TD&gt;&lt;TD&gt;202001EUR&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgAnnualRate&lt;/TD&gt;&lt;TD&gt;202001GBP&lt;/TD&gt;&lt;TD&gt;96&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Expected Results:&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sun, 20 Sep 2020 14:23:37 GMT</pubDate>
    <dc:creator>lvallinoto</dc:creator>
    <dc:date>2020-09-20T14:23:37Z</dc:date>
    <item>
      <title>Divide 2 columns from different tables in a Many to Many relationship</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Divide-2-columns-from-different-tables-in-a-Many-to-Many/m-p/1381713#M25251</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a scenario where I have to divide 2 column, one in one table and the other in another table, which are linked by a Many-to-Many Relationship, and I was hopping to get some help from you Dax geniuses out there, please.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Quick explanation of the scenario&lt;/STRONG&gt; : I have a transactions table, with sales, and these sales are in many different currencies. To convert them to a single currency, we have to divide the sales by the rate, which is in a second table rates.&lt;/P&gt;&lt;P&gt;There are 2 types of rates : an &lt;EM&gt;average rate per month&lt;/EM&gt;, and an&lt;EM&gt; average rate per year&lt;/EM&gt;. The link between the 2 tables is the period, and the currency. The relationship between the 2 tables is many to many ( Check model , please )&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;What I have tried so far&lt;/STRONG&gt;: I could make it work, in 2 different ways, but none completely satisfying :&lt;/P&gt;&lt;P&gt;&lt;EM&gt;1 ) Dax expression with SumX :&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Dividing the &lt;SPAN&gt;sum of sales&amp;nbsp;&lt;/SPAN&gt;by the sum of rates ( I must always have one selected rate type, so it's ok to sum the rates )&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CalculatedValue = Sum( 'Transactions'[Sales] ) /Sum( 'Rates'[RateValue] )&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&lt;SPAN&gt;Then applying a sumx on the Rate table :&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;SalesRateType = SUMX(VALUES('Transactions'[KeyColumn]), [CalculatedValue])&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;SPAN&gt;This works, but the performance is terrible. I have a transactions table with millions of records. Takes almost 1 minute to calculate YTD.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;2 ) Forcing a many to 1 relationship :&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;If I apply some modeling to the tables, I can make it a 1 to Many relationship and create a calculated column, which will give a good performance. But that involves joining both tables, and it takes ages, even with Chris Webb's ideas, it will still take more than 1 hour to join the tables.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;What I would like to know:&lt;/STRONG&gt; Is there any other way of doing this? I'd really appreciate some ideas that I can test.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Simplified Model&lt;/STRONG&gt;:&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Sales:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Period&lt;/TD&gt;&lt;TD&gt;Currency&lt;/TD&gt;&lt;TD&gt;Sales&lt;/TD&gt;&lt;TD&gt;KeyColumn&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202001&lt;/TD&gt;&lt;TD&gt;USD&lt;/TD&gt;&lt;TD&gt;55&lt;/TD&gt;&lt;TD&gt;202001USD&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202001&lt;/TD&gt;&lt;TD&gt;EUR&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;202001EUR&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202001&lt;/TD&gt;&lt;TD&gt;GBP&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;202001GBP&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201904&lt;/TD&gt;&lt;TD&gt;USD&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;TD&gt;201904USD&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201904&lt;/TD&gt;&lt;TD&gt;EUR&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;TD&gt;201904EUR&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201904&lt;/TD&gt;&lt;TD&gt;GBP&lt;/TD&gt;&lt;TD&gt;96&lt;/TD&gt;&lt;TD&gt;201904GBP&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202001&lt;/TD&gt;&lt;TD&gt;GBP&lt;/TD&gt;&lt;TD&gt;33&lt;/TD&gt;&lt;TD&gt;202001GBP&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202001&lt;/TD&gt;&lt;TD&gt;EUR&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;TD&gt;202001EUR&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;Rates:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;RateType&lt;/TD&gt;&lt;TD&gt;KeyColumn&lt;/TD&gt;&lt;TD&gt;RateValue&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgMonthRate&lt;/TD&gt;&lt;TD&gt;202001USD&lt;/TD&gt;&lt;TD&gt;55&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgMonthRate&lt;/TD&gt;&lt;TD&gt;202001EUR&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgMonthRate&lt;/TD&gt;&lt;TD&gt;202001GBP&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgMonthRate&lt;/TD&gt;&lt;TD&gt;201904USD&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgMonthRate&lt;/TD&gt;&lt;TD&gt;201904EUR&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgMonthRate&lt;/TD&gt;&lt;TD&gt;201904GBP&lt;/TD&gt;&lt;TD&gt;96&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgAnnualRate&lt;/TD&gt;&lt;TD&gt;201904USD&lt;/TD&gt;&lt;TD&gt;55&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgAnnualRate&lt;/TD&gt;&lt;TD&gt;201904EUR&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgAnnualRate&lt;/TD&gt;&lt;TD&gt;201904GBP&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgAnnualRate&lt;/TD&gt;&lt;TD&gt;202001USD&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgAnnualRate&lt;/TD&gt;&lt;TD&gt;202001EUR&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AvgAnnualRate&lt;/TD&gt;&lt;TD&gt;202001GBP&lt;/TD&gt;&lt;TD&gt;96&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Expected Results:&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 20 Sep 2020 14:23:37 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Divide-2-columns-from-different-tables-in-a-Many-to-Many/m-p/1381713#M25251</guid>
      <dc:creator>lvallinoto</dc:creator>
      <dc:date>2020-09-20T14:23:37Z</dc:date>
    </item>
    <item>
      <title>Re: Divide 2 columns from different tables in a Many to Many relationship</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Divide-2-columns-from-different-tables-in-a-Many-to-Many/m-p/1381890#M25255</link>
      <description>&lt;P&gt;What if you keep your annual rates and your monthly rates in different tables?&lt;/P&gt;</description>
      <pubDate>Sun, 20 Sep 2020 01:51:16 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Divide-2-columns-from-different-tables-in-a-Many-to-Many/m-p/1381890#M25255</guid>
      <dc:creator>lbendlin</dc:creator>
      <dc:date>2020-09-20T01:51:16Z</dc:date>
    </item>
    <item>
      <title>Re: Divide 2 columns from different tables in a Many to Many relationship</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Divide-2-columns-from-different-tables-in-a-Many-to-Many/m-p/1382074#M25259</link>
      <description>&lt;P&gt;hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="254054" data-lia-user-login="BIBen" class="lia-mention lia-mention-user"&gt;BIBen&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried that approach as well. But then you need a conditional measure and an extra table with a single column to calculate sales. Sometimes they add / remove rate types, so I'd like to keep it dynamic if possible.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have good experience with data modeling, but I'm relatively new to power BI, so I'm just checking if there's some smart way of sorting this I'm not aware of.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If I'm doing the right things and it is what it is, I'll mark your answer as correct, thanks&lt;/P&gt;</description>
      <pubDate>Sun, 20 Sep 2020 11:33:03 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Divide-2-columns-from-different-tables-in-a-Many-to-Many/m-p/1382074#M25259</guid>
      <dc:creator>lvallinoto</dc:creator>
      <dc:date>2020-09-20T11:33:03Z</dc:date>
    </item>
  </channel>
</rss>

