Project Web App Reporting
Tuesday, Jan 08, 2019
A set of rich analytical tools is available to build reports and visuals for data analysis:
- Project Professional Visual Reports
- Visio Diagrams
- PowerPivot Models
- SQL Server Reporting
- Key Performance Indicators
- Power BI
Project Server 2016 supports three methods of accessing data on premises and project online as per below table:
Access Method | Supported On-Premises | Supported Online |
Direct SQL Access |
Yes |
No |
oData Access |
Yes |
Yes |
OLAP Cubes |
Yes |
Partially with workaround |
Which Access Method Should Be Used?
As you know, Project Server 2016 contains 4 schemas (draft, archive, reporting, publishing). As per Microsoft recommendation, all relational data modelling and reporting capabilities should be designed against reporting schema from security and performance perspectives.
Project Server 2016 places data on a relational data store (reporting schema) at nearly the same time its publishes and other save operations occur. So, relational data store best serves your short term needs while OLAP cubes should be used for analytical needs because OLAP will assist you in taking snapshots of data which are several months old. Thus, it is better for long term data analysis.
For example, if you need to check directly which projects are over budget now, go directly to the relational database while if you need to know what is the utilization for all resources over past 3 months, OLAP cubes is the answer.
oData is a new way to access reporting data since it is a web based open standard protocol that works over http or https to query and retrieve data without requiring direct data access.
The EntitySets are collections of data for a given entity and Uri provides access to these EntitySets.
Uri for ProjectsData services is as follows:
http://servername/projestservername/_api/ProjectData/[LanguageCode] (Optional)/DataEntityName/$operation(optional)
To list all the EnitySets (collections) of the ProjectData service, use the following Uri:
http://servername/projestservername/_api/ProjectData
To retrieve the Data Feed for a single EntitySet, use the following Uri(for example for project's EntyitySet):
http://servername/projestservername/_api/ProjectData/Projects
The below table illustrates most used EntitySets:
oData EntitySet Name | Description |
Assignments |
Assignments details across all projects and resources |
Deliverables |
Deliverable details across all projects |
Issues |
Issues details across all projects |
Projects |
Projects summary information |
ProjectBaselines |
Project baseline summary information |
Resources |
Resources summary |
ResourcesTimephasedDataSet |
Resources capacity and work by day |
Risks |
Risks details across all projects |
Tasks |
Tasks details across all projects |
TaskBaselines |
Task baseline details for every existing baseline across all projects and resources |
Timesheets |
Timesheet summary information across all time reporting periods |
TimesheetLineActualDataSet |
Timesheet line information by day across all timesheets for all time reporting periods |
Finally, there are plenty of ways to generate reports and dashboards from project server, but you should carefully decide first what is the required data to retrieve, data refresh intervals and then go with one of the above options.
In our next blog, we will talk about how to apply security matrix groups and categories on project server data.
Comments
No comments yet
You must login to add your comment.