Hi! We have a report set up to show tasks due on a project, for active projects in which you are an owner or sponsor. We'll have a new stakeholder (entered as Resource Manager) needing reports for projects they are listed on. Our current filters are below, but Resource Manager doesn't come up as a filter option. I copied the criteria and tried updating the filter critera to projectresourcemanagerID=$$USER.ID ....it made the whole report error out. Am I missing something?
project:status=CUR MWR VFP
OR:1:project:status=CUR MWR VFP
hi Maria, I'm not sure if you're familiar with collections in reporting, but if you are, your question is an example of where they would be used. Some excellent references are:
The first link is fantastic for simple collections filters directly related to the object you report on. For example, collections related to your tasks. The second link is a bit more difficult but the concept is that you're able to search through a collection that is not necessarily DIRECTLY related, but possibly related through an intermediary object.
In your case, since you want to go from the task to the project and then filter a collection ON the project, you would need to take a look at the second link. Both are great, and one is the natural progression of the other so please read both. In this particular case, you would take a look on the API explorer for the project object, click through to the Resource Manager object and see what the "Object Code" is. (it's RESMGR, if you're looking and want to confirm)
By looking at both the task object (your report is a task report) and the Resource Manager object, you should be able to eventually see that both are "linked" to each other through the projectID. Lastly the target object/target field and value, is the resource manager id that you're looking for (in other words, the viewer of the report's ID).
All this translates to the base code:
EXISTS:a:$$OBJCODE=RESMGR EXISTS:a:projectID=FIELD:projectID EXISTS:a:resourceManagerID=$$USER.ID
Once you've tested it out on a separate report to make sure it works, the rest of the battle is putting it into your regular report (alongside the rest of your filters). This code would take the place of / look similar to the filter that searches for your sponsor, for example:
OR:3:plannedCompletionDate=$$TODAYbw OR:3:plannedCompletionDate_Mod=between OR:3:plannedCompletionDate_Range=$$TODAYew OR:3:EXISTS:a:$$OBJCODE=RESMGR OR:3:EXISTS:a:projectID=FIELD:projectID OR:3:EXISTS:a:resourceManagerID=$$USER.ID OR:3:progressStatus=LT OR:3:progressStatus_Mod=notin OR:3:project:status=CUR MWR VFP OR:3:project:status_Mod=in OR:3:status=CPL OR:3:status_Mod=notin
As you can see here, the important thing to note is that the only thing getting prefaced by your "exists" is the part where you're looking for the resource manager. All the other elements of the filter (planned completion date, progress status, project status) are focused on (related to) your task report and stay the same.