That's working great now, thanks Dong. Just one last (hopefully!) weird issue.
In my actual data, I'm using a number, "Employee ID" (another column of the "Staff List") to identify the staff and link the tables ( because the way names are written don't match up exactly between Applications and Staff List, and an equivalent of "Employee ID" exists in the 'Applications' table). However, when I filter and display data, I want to be able to filter it on the basis of "Officer Name" from the "Staff List".
I thought that this would be straightforward given that there is a 1-to-1 correspondence between the Employee IDs and the names in the Staff List. But when I use "Full Name" rather than "Employee ID", the rankings all come back as "1".
Whereas what I'm after is this (I got the below by making a measure: Full Name = SELECTEDVALUE('Staff List'[Full Name]), but obviously I can't filter using that):
Do you know what could be causing this? There's no duplicates in Staff List and every Officer Name/Full Name has a unique Employee ID.