Forum Discussion

heathernicole's avatar
heathernicole
Continued Contributor
10 years ago
Solved

Sum multiple columns from multiple tables? How to?

This is the last part of a large custom report.

 

I've created two measures and a caluculated column:

 

1. New Customer Points Per Dollar = CALCULATE(ROUNDUP( SUM('SALES DETAILS'[Sales Line Sales Amount]),0), ALLEXCEPT('Sales Rep', 'Sales Rep'[Sales Rep Name]))  (measure)

 

2. New Customer Pts = IF(Customer[Age of Customer (in days)] <= 365,4000,0)

 

3. Bonus Points =
IF('SALES DETAILS'[New Customer Points Per Dollar] >= 10000 && 'SALES DETAILS'[New Customer Points Per Dollar] <= 24999,
2000,
IF('SALES DETAILS'[New Customer Points Per Dollar] >= 25000 && 'SALES DETAILS'[New Customer Points Per Dollar] <= 49999,
4000, IF('SALES DETAILS'[New Customer Points Per Dollar] >= 50000,
6000,
0)
))

(measure)

 

These columns are based of Customer Name Column, Sales Rep Name, and Age of Customer Column.

 

I am trying to sum the top three columns Grouped by Sales Rep Name and Customer Name.

 

The Bonus Points one seems to be causing issues. I only want to add from that column if there is a value > 0. Otherwise ignore it. 

 

EXAMPLE:

 

BOB(rep)            New Customer Pts           New Customer Pts per Dollar                  Bonus Points

Customer 1              4000                                  150                                                      0

Customer 2              4000                                   0                                                         0

Customer 3              4000                                   400                                                     2000

Total                         12000                                 550                                                     2000

 

Ultimately I need the total pts for Bob:

Total = 12000 + 750 + 2000 = 14,750 pts

 

You can have new customer pts, but no Pts per dollar yet or no bonus pts but Pts per dollar and New Customer Pts. 

 

ANY ideas or help would be greatly appreciated!! :) Thanks so much in advance!

  • Sean's avatar
    Sean
    10 years ago

    heathernicole just add the 3 Measures into a new one (or 2 Measures and 1 SUM(Column))

     

    EDIT: as to kcantor point about the Relationship View - we just need to see the tables involved in this calculation and the columns connecting them

  • kcantor's avatar
    kcantor
    10 years ago

    Speaking to the extra 2000:  Unlike in excel, PowerPivot and PowerBI calculate each 'cell's' individual total based upon the calculations. Each cell is an island so to speak. While it may only show up once in your visual, within the calculation itself it must appear more than one time. There is a reference card that helps with this issue and it can be found here:

    http://www.powerpivotpro.com/2015/10/giving-back-steal-this-reference-card/

     

    As for your data model . . . wow. Do you need all of those tables for this particular use? I only ask because a coworker of mine tried to use one data model for everything and it slowed it down to a crawl. A smaller, more nimble datamodel can quickly be created for many projects. She had about 10 fact tables and no lookup tables.

    How many actual tables are you using from this diagram for this partiular project and have you dropped any columns you don't need to reduce size?

    In general, I have 4 lookup tables that I match to most fact tables. My largest model uses 5 fact tables but I keep the column count as low as possible to reduce size and calculation time. Also, are you populating your rows from a lookup table or from a fact table? Using a fact table as row values can cause many issues and play Mary Hobb with your numbers.

  • heathernicole Obiviously your Bonus Points Measure is the Problem...

     

    In the bottom total row it defaults to the value between 25000 and 49999 because thats the total in the bottom row

     

    Therefore you need to convert it to a Calculated Column instead of a Measure (use same formula)

     

    Then create a Measure that will sum that Column and then add all 3...

     

  • Looking at the screen captures it appears that the grand total is recalculating the bonus points total based upon the grand totals of the other columns. You can either swich to a calculated column or look at using a much longer workaround.

    this will also affect subtotals.

    Edit: Looks like Sean beat me to that one. :)

  • heathernicole  I created this sample data to hopefully resemble what you are working with

    The 3 Tables are related this way

    Try the formula highlighted in the image below

    It worked for me! I hope it works for you too! Let me know...

37 Replies

  • kcantor's avatar
    kcantor
    Community Champion

    Create a measure that adds them together then sort by your sales rep on the rows.

    Total Points = [New Customer Points Per Dollar]  + [New Customer Pts] + [Bonus Points]

    Your measures are coming from different tables but should still total up in the new measure. Measures are portable that way.

    • heathernicole's avatar
      heathernicole
      Continued Contributor

      That's exactly what I went for first. :) 

       

      Here's what I end up getting: 

       

      Full Error Message:

       

      A single value for column 'New Customer Pts' in table 'Customer' cannot be determined. This can happen when a measure formula refers to a column that contains many values without specifying an aggregation such as min, max, count, or sum to get a single result.

       

      So then I tried a calculated column - get the same error. I'm not sure what it means exactly...

       

       

      • Sean's avatar
        Sean
        Community Champion

        heathernicole

        It seems you are adding 2 Measures and a Column! You can't do that.

         

        Add a SUM(...) before the column name 

         

        Edit: Or create a measure that SUMs that column and substitute it in the formula

         

        Edit2: And verify you are getting the right answers since you are using multiple tables (just noticed)

        if the filters propagate correctly based on the relationships you've set?