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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Anonymous
Not applicable

Select Values with max Values in the subtotal

Hi all, 

 

I hava this issue that I'am not able to solve with combinations of formulas lookupvalue, related or something similar.

I have a master data table with the customer name and the department.

The revenue are in another table, linked to the firs one. 
I have to add some columns in the master data file, with the information of the most productive sales agent, main region, etc. based on the revenue (data) and department (assigned).

thank for help!
Example.png

 

1 ACCEPTED SOLUTION
talespin
Solution Sage
Solution Sage

Hello,

 

Thank you Adamk Kong.

 

It is better to do it in Power Query.

The solution I am sharing is for Calculated column(Not Measure)

Since you did not share any file, datamodel, I am considering these tables as not related.

 

Please see if this helps.

 

talespin_3-1705927452633.png

 

 

SalesAgent =
VAR _customer = MasterData2[Customer]
VAR _Dept = MasterData2[Department]
VAR _RevenueByAgent =
    ADDCOLUMNS (
        SUMMARIZE (
            Revenue2,
            Revenue2[Customer],
            Revenue2[Department],
            Revenue2[Sales_Agent]
        ),
        "RevenueBySalesAgent",            
                CALCULATE (
                    SUM ( Revenue2[Revenue] ),
                    Revenue2[Customer] = _customer
                        && Revenue2[Department] = _Dept
                )
    )
RETURN
    CALCULATE (
        VALUES ( Revenue2[Sales_Agent] ),
        TOPN (
            1,
            FILTER (
                _RevenueByAgent,
                Revenue2[Customer] = _customer
                    && Revenue2[Department] = _Dept
            ),
            [RevenueBySalesAgent], DESC
        )
    )

 

View solution in original post

4 REPLIES 4
talespin
Solution Sage
Solution Sage

Hello,

 

Thank you Adamk Kong.

 

It is better to do it in Power Query.

The solution I am sharing is for Calculated column(Not Measure)

Since you did not share any file, datamodel, I am considering these tables as not related.

 

Please see if this helps.

 

talespin_3-1705927452633.png

 

 

SalesAgent =
VAR _customer = MasterData2[Customer]
VAR _Dept = MasterData2[Department]
VAR _RevenueByAgent =
    ADDCOLUMNS (
        SUMMARIZE (
            Revenue2,
            Revenue2[Customer],
            Revenue2[Department],
            Revenue2[Sales_Agent]
        ),
        "RevenueBySalesAgent",            
                CALCULATE (
                    SUM ( Revenue2[Revenue] ),
                    Revenue2[Customer] = _customer
                        && Revenue2[Department] = _Dept
                )
    )
RETURN
    CALCULATE (
        VALUES ( Revenue2[Sales_Agent] ),
        TOPN (
            1,
            FILTER (
                _RevenueByAgent,
                Revenue2[Customer] = _customer
                    && Revenue2[Department] = _Dept
            ),
            [RevenueBySalesAgent], DESC
        )
    )

 

v-kongfanf-msft
Community Support
Community Support

Hi @Anonymous ,

 

You can try below calculated column to create 'sales agent' and 'region' column in Master Data.

MostProductiveSalesAgent = 
VAR filter_table =
    FILTER (
        'Revenue',
        'Revenue'[customer] = MAX ( 'Master Data'[customer] )
            && 'Revenue'[department] = MAX ( 'Master Data'[department] )
    )
RETURN
    CALCULATE (
        VALUES ( 'Revenue'[sales agent] ),
        filter_table,
        TOPN ( 1, filter_table, [revenue], DESC )
    )
MainRegion = 
VAR filter_table =
    FILTER (
        'Revenue',
        'Revenue'[customer] = MAX ( 'Master Data'[customer] )
            && 'Revenue'[department] = MAX ( 'Master Data'[department] )
    )
RETURN
    CALCULATE (
        VALUES ( 'Revenue'[region] ),
        filter_table,
        TOPN ( 1, filter_table, [revenue], DESC )
    )

 

vkongfanfmsft_1-1705913184273.png

 

Best Regards,
Adamk Kong

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

Anonymous
Not applicable

This solution doesn't works, but, most importatnt, does not consider that there is a "double relation". 

MostProductiveAgent is not only linked to the Customer but also to the department. 
As visible in the example, the MostProductiveAgent  is "C" but i have to not consider him because the department is not in scope.

123abc
Super User
Super User

To achieve this in Power BI or Excel, you can use a combination of functions like RELATED, CALCULATE, MAXX, and EARLIER. Here's a general guide on how you could approach this:

Let's assume you have a table named MasterData with columns CustomerName and Department, and another table named RevenueData with columns CustomerName, Revenue, SalesAgent, and Region.

  1. Create relationships:

    • Make sure there is a relationship between the CustomerName column in the MasterData table and the CustomerName column in the RevenueData table.
  2. Create calculated columns in the MasterData table:

    • Most productive sales agent:

MostProductiveAgent =
CALCULATE(
TOPN(1, RevenueData, RevenueData[Revenue], DESC),
FILTER(RevenueData, RevenueData[CustomerName] = MasterData[CustomerName])
) [SalesAgent]

 

Main region:

 

MainRegion =
CALCULATE(
TOPN(1, RevenueData, RevenueData[Revenue], DESC),
FILTER(RevenueData, RevenueData[CustomerName] = MasterData[CustomerName])
) [Region]

 

  1. Adjust the column names based on your actual column names.

  2. Now, you should have two new columns in your MasterData table (MostProductiveAgent and MainRegion) that display the most productive sales agent and main region based on revenue and department.

Please note that this approach assumes there is a one-to-many relationship between the MasterData and RevenueData tables. If there are different relationships or if you need to consider additional conditions, you may need to modify the formulas accordingly. Additionally, make sure to handle potential scenarios where there might be ties for the highest revenue.

Remember to adapt the column names and table names based on your actual data model.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

Find out what's new and trending in the Fabric community.