I frequently become involved with customer cases involving the Reporter module. This is a bad habit of mine that I am struggling to break, but I just cannot help myself. My involvement gives me insight into actual customer needs. This insight results in me carrying more tools in my belt when discussing requirements with potential customers.
Recently I came across a customer that asked for a way to report on the performance of a cross-functional team that was responsible for a set of initiatives. Imagine a set of related initiatives that were driven by a team consisting of members from the IT department, HR, finance, and a few managers from local offices. From an organizational perspective, they would all be from different business units, but they would work toward a common purpose. Most of the time performance reporting is organized organizationally or individually based on what each individual is responsible for. In this case, we want to show the performance, status, or progress of a set of initiatives, plans, or metrics that are based on group/team membership.
So how do we provide team-based reporting?
By assigning users to a “group” we can report on the elements that the group is responsible for. In this customer case, the initiatives themselves were organized by their IDs. To keep it simple, we kept the same ID header in the group name and looped through the members of the group and checked to see if they were responsible for any of the related (by ID) projects.
A similar approach was used by another customer that had many stations what were managed by a set of managers. Each manager was responsible for several stations, and managers were reassigned occasionally. Thus, it was important to track who managed what station for a period. Again, this problem was solved by creating a manager ‘group.’ We then created a historical user property on each scorecard to track who the manager was (and when, since it is “historical”). In our report we cycled through each manager in the group, and generated a table showing the relevant metrics and results.
To summarize, consider creating groups, and cycling through each group member if ever you need a report based on a list of specific users. By using ‘find’ commands and ‘if’ statements, relevant results can easily be found and organized into a meaningful structure that fits your reporting requirements.