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 hello helpful folk,
I need a little help with a measure.
I'll give you the high level requirement then explain table structure:
I need to be able to calculate the % of college applicants who attended a careers day before they applied.
Every student has a Student record in the Student table [StudentId], which is related to the Applications table [StudentValueID] by a 1:N relationship. They can have multiple but mostly just have one, and we're concerned with their first application anyhow.
Their attendance at a Careers Day is recorded by an Event Response record with a [Type] of 'Careers Day', these responses are child records of an Events table (1:N).
Essentially - I want to see the percentage of students with an event response, where the event response date is earlier than the date of their application.
Can provide visuals of table structure if needed but hopefully the above is explanatory enough!
Solved! Go to Solution.
Here is one way to approach this one
% Students Career Day First =
VAR __summarytable =
ADDCOLUMNS (
VALUES ( Students[StudentID] ),
"@AppDate", CALCULATE ( MIN ( Applications[Date] ) ),
"@MinCareerDay", CALCULATE ( MIN ( Events[Date] ), Events[Type] = "Careers Day" )
)
RETURN
DIVIDE (
COUNTROWS ( FILTER ( __summarytable, [@MinCareerDay] < [@AppDate] ) ),
COUNTROWS ( __summarytable )
)
If this works for you, please mark it as the solution. Kudos are appreciated too. Please let me know if not.
Regards,
Pat
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
Hi,
Share data in a format that can be pasted in an Excel file.
Here is one way to approach this one
% Students Career Day First =
VAR __summarytable =
ADDCOLUMNS (
VALUES ( Students[StudentID] ),
"@AppDate", CALCULATE ( MIN ( Applications[Date] ) ),
"@MinCareerDay", CALCULATE ( MIN ( Events[Date] ), Events[Type] = "Careers Day" )
)
RETURN
DIVIDE (
COUNTROWS ( FILTER ( __summarytable, [@MinCareerDay] < [@AppDate] ) ),
COUNTROWS ( __summarytable )
)
If this works for you, please mark it as the solution. Kudos are appreciated too. Please let me know if not.
Regards,
Pat
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
Hi Pat @mahoneypat
You are a star, thank you! However - the Event Date is on the Event, and I need to return the Students with an Event Responses where the related Event's date is before the earliest application date. I'm not sure the @ MinOpenDay is doing this? What do you think?
I have, however, pulled the related Event's date onto each Event Response with a calculated column, so I now have:
Event Responses [Event Date] as a calculated column,
as well as Students[EarliestApplicationDate] to avoid needing to evaluate across all Students' application records. This could simplify the measure but wouldn't work as well with a summary table no?
I think it is doing that comparison in the filter part in the return statement. Please let me know if you are getting incorrect results.
Regards
Pat
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
Quick clarification /amendment because of a typo:
*Essentially I want to see the percentage of students with a Careers Day event response, where the careers day event response date is earlier than the date of their application.
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 |
---|---|
111 | |
100 | |
80 | |
64 | |
58 |
User | Count |
---|---|
146 | |
110 | |
93 | |
84 | |
67 |