Blogs
Technology

Project Web App Reporting

Tuesday, Jan 08, 2019
Ramy Magdy Halim

Development Manager, Digital Services

01 Posts

If you're using Project Web App, you might be wondering how to generate reports and dashboards from PWA. Whether you're using Project Web App for Project Server 2016 or Project Web App for Project Online, you have several options available for fetching and preparing your data.

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

Some of our features will not be working properly on IE. We recommend using this website from our supported browsers ex: Google Chrome, Firefox, Opera, Microsoft Edge