Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Sum Totals using values from two different tables

I've looked around for a solution and tried the following, but it gives me this error which I don't understand because I am not using a "true/false" expression or any boolean values:   "a function 'FILTER' has been used in a True/False expression that is used as a table filter expression. This is not allowed."

 

I am simply trying to sum the totals of the Orders in the Rebate Table, based on the values of the Orders from the Flu_Shipped table.      The Rebate Table contains a subset of order #'s from the main shipping table.   

 

The "expected" result is that the sum should equal the value of the orders(ERP) column from the Rebate Table.    

 

But what is happening, is that the sum is totaling the value of all shipments...not just the subset of orders from the Rebate Table.    The rebate table does not contain any shipping values....so it needs to pick up those values from the "shipped" table. 

 

There is a relationship between "orders" on the shipped table, and "orders(erp)" on the rebate table.  

 

Measure = CALCULATE(SUM(Flu_Shipped_2018_to_2020[Shipped Price]),FILTER(Flu_Shipped_2018_to_2020,Flu_Shipped_2018_to_2020[Date Shipped]) in VALUES('Rebate Data'[Date Approved]))
 
 
 
  • Anonymous 

    The filter is closing at the wrong place

    It should like this


    Measure = CALCULATE(SUM(Flu_Shipped_2018_to_2020[Shipped Price]),
    FILTER(Flu_Shipped_2018_to_2020,Flu_Shipped_2018_to_2020[Date Shipped] in VALUES('Rebate Data'[Date Approved])))

     

    I think you might have to use treatas. In place of in values. Just explore the link

    https://docs.microsoft.com/en-us/dax/treatas-function

2 Replies

  • Anonymous 

    The filter is closing at the wrong place

    It should like this


    Measure = CALCULATE(SUM(Flu_Shipped_2018_to_2020[Shipped Price]),
    FILTER(Flu_Shipped_2018_to_2020,Flu_Shipped_2018_to_2020[Date Shipped] in VALUES('Rebate Data'[Date Approved])))

     

    I think you might have to use treatas. In place of in values. Just explore the link

    https://docs.microsoft.com/en-us/dax/treatas-function

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi amitchandak 

       

      The formula you gave did not work...but I beleive it was because my formula was not referencing the right fields.  

       

      However, your suggestion to you use TREATAS was the perfect solution!   I literally was able to use the example formula on that page.  

       

      One small issue:   The measure is returning all order #'s in the shipping table if I put that on my visual (which I need to).   How can I adjust the measure to ONLY include results where the order numbers match in both tables?   

       

      You can see below, starting with Order "39"....

       

      measure = CALCULATE(
      SUM(Flu_Shipped_2018_to_2020[Shipped Price]),
      TREATAS(VALUES(Flu_Shipped_2018_to_2020[Order]), 'Rebate Data'[Order (ERP)])
      )