If you create a self join table the direction you found using the portal will work. Or if you place the globals in a separate table of their own.
When I want to filter records like that I start in a list layout. I then have global fields with attached script triggers on that global field for OnObjectModify . With the script trigger I can search for specific words that I choose from value list and then show records that I want. In your case you could always use three fields and add those to your script that is trigger by each fields script trigger. Just look for each on of those global fields in your script and then you can filter on as many fields that you like. The search result will be in your list.
I've created the Live-As-You-Type Search field for data. I am still figuring it out, but what specifically do I add to the script to get the drop-down to trigger the search? Do I just add to the "Set Field" list?
Also, is there a way to have the portal results show ALL (ie. Selection 1 + Selection 2 + Selection 3 in the Drop-Down list) at the start as default, before any selection is made? I'd love for the initial screen to show ALL records and then as the Drop-Down lists are selected, the results are filtered down in the display.
With the self-join table, I cannot figure out how to join the 3 different Drop-Down list items without the "AND" feature. Ie. If I want "Region", "Category", and "Specialty". I set one up with "Region" but when I add a second relationship item, it only will filter "Region" AND "Category" and not "Region" OR "Category". Is there a way to add an "Or"?
Also, would love to make it a global field, though the Global Live-As-You-Type I am trying to debug so it shows all results in one portal as right now it filters down all the records, but they are individual records I have to click through.