Hey, newbie here who has tried his best to find a solution…!
I have table which contains:
Names of people (Name), pulled from a central list/database
Their LinkedIn profiles (LI), embedded in buttons (which executes fine individually via OpenWindow(thisRow.Name.[Linked in])
The ‘stage’ they are at in an interview process (Stage), pulled from a list in a separate page/table
I want to be able to bulk-open multiple LinkedIn profiles via a single Button, depending on their stage. For example:
Button Stage 1: Open all LI profile for people at Stage 1 (e.g. Jeff, Jenny and John)
Button Stage 2: Open all LI profile for people at Stage 2 (e.g. Colin, Carrie and Cassandra)
Etc…
I suppose the challenge comes when those people change stages - for example, when Jenny moves to stage 2, her profile should no longer open via the Stage 1 button, instead opening via Stage 2 button. Obviously I’m looking to avoid manually updating a formula each time somebody changes stage, as that will change often.
It takes the table named [People & Stages] and look for rows where Stages = [Stage 1].
This returns a list of rows from my [People & Stages] table and more specifically, a list of people (coming from a People table where I’ve stored their “name” and some URL coming from my opened tabs ).
[ ... ].ForEach( OpenWindow(People.URL) )
And now that we have the appropriate list of rows, this kind of says: ForEach() row in the list of rows returned by the Filter() (each individual row being represented as CurrentValue in the list, so People here is in fact CurrentValue.People ), open the url tied to that specific person
Another possibility, following a similar principle would be to have canvas buttons pushing the appropriate and individual OpenWindow() button you might already have in your table , using something like :
Without a sanitised/anonymised sample of your current setup (or even just a screenshot), it’s a bit hard to be more precise …
But I still hope this will help you a little !
So helpful thank you! I ended up with the following:
[Table].Filter(Stage=Stage 1).ForEach(LinkedIn)
One last thing - how would I go about excluding people from this if another condition was met? Specifically, I have an ‘Archive’ checkbox which, when checked, crosses out a people but leaves them in the list (for visibility, and sorted to the bottom) which retains the ‘Stage’ they reached before they were Archived. Obviously I wouldn’t want to open these LinkedIn profiles as they are no longer a consideration.
Tried a couple of things but didn’t work and don’t want to screw this up now Thank you in advance @Pch !
As for your follow-up question, same principle as before : Get the appropriate list of rows from your table with Filter() and then, ForEach() row in the list push the button…
In other words, something like :
[Table].Filter(Stage = Stage 1 AND Archive = false).ForEach(LinkedIn)
… should do the work
(See the canvas button Stage 1 in the sample doc below )
The Filter() formula will return, in this case, a list of rows from your table where the value in your field Stage is Stage 1AND also, where the value in your column Archive is false (so, not checked).
Both conditions needs to be true here for Filter() to keep a row in the list of rows it returns.
Then, ForEach() will do the rest .
Another way to write the same formula and get the same result would be :
(See the button Stage 2 in the sample doc below)
[Table].Filter(Stage=Stage 1 AND Archive.Not()).ForEach(LinkedIn)
The Filter() formula returns here a list of rows from your table where the value in your column Stage is once again Stage 1AND where the value in your column Archive is Archive.Not() (I.e.: where the checkbox Archive is Not() true (not checked), so false ).