@Madalyn_Destafney asked in an unrelated post:
I have a task report pulling tasks assigned to those in a specific Home Group. What filter do I need to add to also pull anyone who has this Group as one of their Other Groups? I want tasks showing for anyone that has this group as either their Home Group or Other Groups. Not seeing a native option for this - what am I missing?
My response below -- and I am curious about whether anyone can come up with a better answer for her.
1) From my understanding what I recognize is that a task can have more than one user assigned and each user can have more than one group. For me, when you start talking about looking in a collection of users for everyone's collection of groups (collection of a collection), I start feeling like this can't be done. Definitely open to hearing different on this and learning something.
2) What I then said is, there's a possibility that you can get around the collection-of-a-collection problem by bypassing one of the collections - i.e. instead of using a task report, let's use an assignment report, because this will allow us to avoid searching for the collection of assigned users. So now we're just down to searching through everyone's collection of groups.
3) This is going to have to be an exists statement -- I know Workfront has provided a few shortcuts in certain reports, such as the user reports, to "other groups" and I think it's important to acknowledge these are shortcuts so you don't have to textmode search for collections all the time. Start thinking of "native options" as "options that ... for the most part, don't involve collections".
4) The way to locate your collections is through the collections tab in the API explorer for each object. You are looking for the group collection on the assigned user so we start with the user object which is not too bad.
If you are a beginner at this, I'll give a few pointers for finding the groups. In the collections tab for User, look to User Group and click on the link. You'll see a field for groupID and userID, so these are your keys. (You really needed to guess at this, since most beginners would have gone looking for group and homegroup.)
5) Solution breakdown -- or buildup
Let's first look at how we would traditionally do this if we were just looking for "tasks assigned to users with a specific HOMEGROUP" -- this is easy because it involves no collections.
Simply filter on your "native options":
assigned to - is active - true
task id - not blank
assigned to - home group id - XXXXXXXXXXXXXXXXXXXXX
Here's how it changes with an exists filter.
assigned to - is active - true
task id - not blank
switch over to text mode
<make an exists filter to ask - is there a group that has this user in it? - see below>
The exists textmode looks like this:
EXISTS:a:$$OBJCODE=USRGPS
EXISTS:a:groupID=XXXXXXXXXXXXXXXXXXX
EXISTS:a:userID=FIELD:assignedToID
(look at all your user group objects, and anywhere where the userID is the same as the person who is assigned to your task, look at the groupID and see if it is equal to XXXXXXXXXXXXXXXXXXX)
Would love to hear other alternatives. Madalyn, let me know if the above works for you/your understanding.
--------------------------------
If you liked my post, please like my ideas at
https://experienceleaguecommunities.adobe.com/t5/user/viewprofilepage/user-id/17528599/contributions...
--------------------------------