Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hello everyone
Hello, I am a young PowerBi adept and I need help in calculating a new calculated column
My data looks like this: I have a case table, a calls table, and the so-called bridge tables combining case and calls (case_calls)
case table
case_id | first_contact_date | first_call_date_after first_contact |
1 | 07-10-2023 | 9-10-2023 |
2 | 08-10-2023 | 10-10-2023 |
case_calls table
case_id | call_id |
1 | a |
1 | b |
1 | c |
2 | d |
2 | e |
calls table
call_id | call_date | status |
a | 6-10-2023 | picked up |
b | 8-10-2023 | missed |
c | 9-10-2023 | picked up |
d | 5-10-2023 | picked up |
e | 10-10-2023 | picked up |
My need is to calculate the first_call_date_after first_contact column in case table (marked in red)
The definition of this column is the date of the first related call for which:
1) call_date>= first_contact_date AND status= "picked up"
In other words, for each case_id in the case table, I want to calculate the date of the first picked up calls (status = "picked up") after the date of the first contact (first_contact_date)
I would be very grateful for your help 🙂
Solved! Go to Solution.
Hi, @equlibrum96
You can try the following methods.
Measure =
CALCULATE ( MIN ( 'calls table'[call_date] ),
FILTER ( ALL ( 'calls table' ),
[status] = "picked up"
&& [call_date] > MAX ( 'case table'[first_contact_date] )
&& RELATED ( 'case_calls table'[call_id] ) = MAX ( 'calls table'[call_id] )
)
)
Column = CALCULATE ( MIN ( 'calls table'[call_date] ),
FILTER ( 'calls table' ,
[status] = "picked up"
&& [call_date] > EARLIER( 'case table'[first_contact_date] )
&& RELATED ( 'case_calls table'[case_id] ) = EARLIER('case table'[case_id])
)
)
Is this the result you expect?
Best Regards,
Community Support Team _Charlotte
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi, @equlibrum96
You can try the following methods.
Measure =
CALCULATE ( MIN ( 'calls table'[call_date] ),
FILTER ( ALL ( 'calls table' ),
[status] = "picked up"
&& [call_date] > MAX ( 'case table'[first_contact_date] )
&& RELATED ( 'case_calls table'[call_id] ) = MAX ( 'calls table'[call_id] )
)
)
Column = CALCULATE ( MIN ( 'calls table'[call_date] ),
FILTER ( 'calls table' ,
[status] = "picked up"
&& [call_date] > EARLIER( 'case table'[first_contact_date] )
&& RELATED ( 'case_calls table'[case_id] ) = EARLIER('case table'[case_id])
)
)
Is this the result you expect?
Best Regards,
Community Support Team _Charlotte
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @equlibrum96
Please try
first_call_date_after first_contact =
MINX (
FILTER (
CALCULATETABLE ( Calls, TREATAS ( { Case[Case_Id] }, Case_Calls[Case_Id] ) ),
Calls[Call_Date] > Case[First_Contact_Date]
&& Calls[Status] = "Picked Up"
),
Calls[Call_Date]
)
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
46 | |
26 | |
21 | |
12 | |
8 |
User | Count |
---|---|
75 | |
52 | |
45 | |
15 | |
12 |