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

Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.

Reply
nmckeown1
Helper I
Helper I

TopN time dax for total calls

I've built a measure that calculates what TopN peak times (hours) during the day we have max calls. This DAX spits out the times of the top 4 hours most calls were answered. 

 

DAX Peak time Calls 4 hours =
VAR TotalSalesPerHour =
SUMMARIZE (
'Aggregated Daily',
'Aggregated Daily'[Time Hour],
"TotalCalls", [Calls measure]
)
VAR Result =
CONCATENATEX (
TOPN ( 4, TotalSalesPerHour, [TotalCalls] ),
'Aggregated Daily'[Time Hour],
", ",
[TotalCalls]
)
RETURN
Result

 

 I now need to calculate the actual total number of calls, within just those top4 times. I tried editing the return variable but this didn't work:

RETURN
CALCULATE(Totalsalesperhour,FILTER('Aggregated Daily','Aggregated Daily'[Time Hour] = RESULT)) 
Any thoughts?
1 ACCEPTED SOLUTION
saud968
Super User
Super User

DAX Peak time Calls 4 hours =
VAR TotalSalesPerHour =
SUMMARIZE (
'Aggregated Daily',
'Aggregated Daily'[Time Hour],
"TotalCalls", [Calls measure]
)
VAR Top4Hours =
TOPN ( 4, TotalSalesPerHour, [TotalCalls] )
VAR Top4HoursList =
SELECTCOLUMNS(Top4Hours, 'Aggregated Daily'[Time Hour])
VAR Result =
CALCULATE (
SUM('Aggregated Daily'[Calls measure]),
'Aggregated Daily'[Time Hour] IN Top4HoursList
)
RETURN
Result

Best Regards
Saud Ansari
If this post helps, please Accept it as a Solution to help other members find it. I appreciate your Kudos!

View solution in original post

3 REPLIES 3
saud968
Super User
Super User

DAX Peak time Calls 4 hours =
VAR TotalSalesPerHour =
SUMMARIZE (
'Aggregated Daily',
'Aggregated Daily'[Time Hour],
"TotalCalls", [Calls measure]
)
VAR Top4Hours =
TOPN ( 4, TotalSalesPerHour, [TotalCalls] )
VAR Top4HoursList =
SELECTCOLUMNS(Top4Hours, 'Aggregated Daily'[Time Hour])
VAR Result =
CALCULATE (
SUM('Aggregated Daily'[Calls measure]),
'Aggregated Daily'[Time Hour] IN Top4HoursList
)
RETURN
Result

Best Regards
Saud Ansari
If this post helps, please Accept it as a Solution to help other members find it. I appreciate your Kudos!

This worked perfect, thank you!!

FreemanZ
Super User
Super User

hi @nmckeown1 ,

 

try like:

DAX Peak time Calls 4 hours =

VAR TotalSalesPerHour =

ADDCOLUMNS(

    SUMMARIZE (

       'Aggregated Daily',

      'Aggregated Daily'[Time Hour]

    ),

    "TotalCalls", [Calls measure]

)

VAR _hours = 

SUMMARIZE(

    TOPN ( 4, TotalSalesPerHour, [TotalCalls]),

    'Aggregated Daily'[Time Hour]

)

VAR Result =

CALCULATE(

    [Calls measure],

    'Aggregated Daily'[Time Hour] IN _hours

)

RETURN Result

Helpful resources

Announcements
May PBI 25 Carousel

Power BI Monthly Update - May 2025

Check out the May 2025 Power BI update to learn about new features.

Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

May 2025 Monthly Update

Fabric Community Update - May 2025

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