Forum Discussion

Raul's avatar
Raul
Post Patron
8 years ago
Solved

Sum column values based on another table

Hello,

I have this situation:

 

TABLE2    
LineExpenseCodAreaDateOffice
110Area101/01/2017Office1
220Area302/01/2017Office1
315Area203/02/2017Office1
415Area204/01/2017Office1
520Area305/01/2017Office3
615Area106/03/2017Office2
730Area307/01/2017Office3
825Area208/04/2017Office2
910Area309/01/2017Office3
105Area110/06/2017Office1

 

I have a measure like this: TotalImport = SUM(TABLE1.Import)

 

And a matrix visualitation with this parameters:

Month/OfficeTotalImportTotalExpense
1  
   Office1100 
   Office2160 
   Office3120 
2  
   Office1200 
   Office2150 
   Office360 
3  
   Office140 
   Office270 
   Office3120 


And this filters: YEAR = 2017, MONTH = 1 to 3, AREA = Area1 into a slicers. 

 

I need to calculate the sum of the expense values in TABLE2 (TotalExpense) for this filters and put the total into the matrix, to obtain the result in this case, like this:

Month/OfficeTotalImportTotalExpense
1  
   Office110025
   Office2160 
   Office3120 
2  
   Office1200 
   Office2150 
  Office360 
3  
   Office140 
   Office27015
   Office3120 


I create the measure TotalExpense = CALCULATE(SUM(TABLE2[Expense]);ALLSELECTED(Areas[Area])) but the result is not correct. What is the correct DAX formula? 

 

Thank you very much.

  • It is because of relationships are not appropriately defined in your model. Looking at your model, it seems like you need to make the following changes: 

    - Change Relationship between Table1 and Calendar to be Many-to-One and Single-Directional. (Note the Many should be from Table1). 

    - Change Relationship between Table2 and Calendar to be Many-to-One and Single-Directional. Then ensure that the relationship is active. (Again note that Table2 should be many side.)

    - Create new relationship between Table2[Office] and Offices[Office] as Many-To-One and Single-Directional.

    - Change the measure TotalExpense = SUM(Table2[Expense]). It is possible that I misunderstand the requirement for this measure. But it is good to start simple and then define a more complex measure if needed.

     

    I tried these changes and seem to be getting the correct numbers, but you should verify if that is what you want.  

9 Replies

  • Eric_Zhang's avatar
    Eric_Zhang
    Microsoft Employee

    Raul

    Is the AREA filter from the AREAS table? You can try a measure like

     

    TotalExpense =
    CALCULATE (
        SUM ( TABLE2[Expense] ),
        FILTER ( TABLE2, TABLE2[AREA] = MAX ( AREAS[Area] ) )
    )
    
    • Raul's avatar
      Raul
      Post Patron

      Thanks Eric_Zhang for your help.

      Answering your question: yes, the AREA filter is from the Area table.

      I have aplied your formula but the result in not correct. I obtein the same result that the TotalImport column. Any other idea?

       

      • Eric_Zhang's avatar
        Eric_Zhang
        Microsoft Employee

        Raul wrote:

        Thanks Eric_Zhang for your help.

        Answering your question: yes, the AREA filter is from the Area table.

        I have aplied your formula but the result in not correct. I obtein the same result that the TotalImport column. Any other idea?

         


        Raul

        It is hard to know why not correct without seeing the whole picture. Is it possible to upload the pbix file? You can upload it to Onedrive/Google drive and share the link in this thread or via a private message. Do remember to mask sensitive data before uploading.

  • SteveCampbell's avatar
    SteveCampbell
    Memorable Member

    I need some clarification. Do Offices and Areas have a relationship?

    Also, why is AREAS joined to table1 and not table2?