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

Get certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now

Reply
Anonymous
Not applicable

CALCULATE MINIMUM based on 2 categoires

Hello,

 

Could use some help figuring out the DAX syntax for the following scenario.

I have a single table with a self referential hierarchy that looks like this:

 

IDTypeRequest IDTimestampTime to first reply (minutes)
554QuestionABC1238/1/2020 13:493
231ReplyABC1238/1/2020 13:52 
895ReplyABC1238/1/2020 13:53 
522QuestionDEF2348/2/2020 8:005
120ReplyDEF2348/2/2020 8:05 
978QuestionGHI3458/2/2020 8:071
840ReplyGHI3458/2/2020 8:11 
92ReplyGHI3458/2/2020 8:08 
520ReplyGHI3458/2/2020 8:09 

 

epalacio1_0-1597947121619.png

 

I am trying to calculate the value in the "Time to First Reply" column, basically for each question, subtract the earliest reply timestamp from the question timestamp.

 

In pseudo code this would look something like this: 

 

(RequestID(timestamp), Filter(type = "Question)) - (min(request_id(timestamp)), Filter(type = "Reply"))

 

I just can't get the FILTER, ALLEXCEPT etc.. to give me what i need.

 

Thanks for any help you can provide.

 

 

2 ACCEPTED SOLUTIONS
harshnathani
Community Champion
Community Champion

Hi @Anonymous ,

 

Create a Column

 

 

Column = 

var a = CALCULATE(MIN('Table'[Timestamp]), FILTER('Table','Table'[Request ID] = EARLIER('Table'[Request ID]) && 'Table'[Type] = "Reply"))

RETURN
IF ('Table'[Type] = "Question" , DATEDIFF('Table'[Timestamp],a, MINUTE), BLANK())

 

 

1.jpg

 

Incase you need a measure

First Reply = 

var a = CALCULATE(MIN('Table'[Timestamp]), FILTER(ALL('Table'),'Table'[Request ID] = MAX('Table'[Request ID]) && 'Table'[Type] = "Reply"))

RETURN
IF (MAX('Table'[Type]) = "Question" , DATEDIFF(MAX('Table'[Timestamp]),a, MINUTE), BLANK())

 

 

 

 

Regards,
Harsh Nathani
Did I answer your question? Mark my post as a solution! Appreciate with a Kudos!! (Click the Thumbs Up Button)

View solution in original post

Anonymous
Not applicable

[TTFR (mins)] = // calc column
var __type = T[Type]
return
    if( __type = "question",
    
        var __request = T[Request ID]
        var __requestTime = T[Timestamp]
        var __replyTime =
            MINX(
                filter(
                    T,
                    T[Request ID] = __reqest
                    &&
                    T[Type] = "reply"
                ),
                T[Timestamp]
            )
        return
            DATEDIFF(
                __requestTime,
                __replyTime,
                MINUTE
            )
    )

View solution in original post

4 REPLIES 4
Anonymous
Not applicable

[TTFR (mins)] = // calc column
var __type = T[Type]
return
    if( __type = "question",
    
        var __request = T[Request ID]
        var __requestTime = T[Timestamp]
        var __replyTime =
            MINX(
                filter(
                    T,
                    T[Request ID] = __reqest
                    &&
                    T[Type] = "reply"
                ),
                T[Timestamp]
            )
        return
            DATEDIFF(
                __requestTime,
                __replyTime,
                MINUTE
            )
    )
Anonymous
Not applicable

Thanks daxer.   Works perfectly.

harshnathani
Community Champion
Community Champion

Hi @Anonymous ,

 

Create a Column

 

 

Column = 

var a = CALCULATE(MIN('Table'[Timestamp]), FILTER('Table','Table'[Request ID] = EARLIER('Table'[Request ID]) && 'Table'[Type] = "Reply"))

RETURN
IF ('Table'[Type] = "Question" , DATEDIFF('Table'[Timestamp],a, MINUTE), BLANK())

 

 

1.jpg

 

Incase you need a measure

First Reply = 

var a = CALCULATE(MIN('Table'[Timestamp]), FILTER(ALL('Table'),'Table'[Request ID] = MAX('Table'[Request ID]) && 'Table'[Type] = "Reply"))

RETURN
IF (MAX('Table'[Type]) = "Question" , DATEDIFF(MAX('Table'[Timestamp]),a, MINUTE), BLANK())

 

 

 

 

Regards,
Harsh Nathani
Did I answer your question? Mark my post as a solution! Appreciate with a Kudos!! (Click the Thumbs Up Button)

Anonymous
Not applicable

Thank you, Harsh.  It works well.

Helpful resources

Announcements
November Carousel

Fabric Community Update - November 2024

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

Live Sessions with Fabric DB

Be one of the first to start using Fabric Databases

Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.

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! Early Bird pricing ends December 9th.

Nov PBI Update Carousel

Power BI Monthly Update - November 2024

Check out the November 2024 Power BI update to learn about new features.