People Directory doesn't show filter by location or not all people show up for a given location

The issue described here looks like this:
a) You have a Location property populated in Active Directory but the location filter doesn’t show up in the people directory

or
b) You have Location property populated in Active Directory but not all people that have that location set are showing in the People Directory

What happens

  • Origami People Directory gets the location from the Office 365 property called [BaseOfficeLocation]

  • [BaseOfficeLocation] is mapped to [People:SPS-Location] in search service application in SharePoint (shown below).

  • In turn, [People:SPS-Location], is mapped to [Office Location] User Profile attribute, which as you can see in the example below is blank (which is what you might be seeing in your tenant).

This is why some users, who’se [Office Location] attribute is blank, won’t show up in the directory when filtered by that location. If this attribute is empty for everyone, the location filter in Origami Directory will not show up at all. In the example above, the user’s location was specified but in another attribute, which we will look at in detail here.

How to fix this:

The easiest way to fix this is to populate [Office Location] attribute. Chances are, however, you have it populated already, but in [Office*] attribute as shown in the example above.
Here is what you need to do in this case:

  1. Navigate to Search Service mapped properties list: https://[your tenant]-admin.sharepoint.com/_layouts/15/searchadmin/ta_listmanagedproperties.aspx?level=tenant

  2. Search for [RefinableString], and find the one that has nothing mapped to it yet, see below for example:

  3. Map [People:Office] to this RefinableString, similar to below:

  4. Navigate to Origami People Directory and access the web part properties.

  5. Set the new refiner into the Custom Refiner section as shown below

image