Link Development

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



oData Access



OLAP Cubes


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:

To retrieve the Data Feed for a single EntitySet, use the following Uri(for example for project's EntyitySet):

The below table illustrates most used EntitySets:

oData EntitySet Name Description


Assignments details across all projects and resources


Deliverable details across all projects


Issues details across all projects


Projects summary information


Project baseline summary information


Resources summary


Resources capacity and work by day


Risks details across all projects


Tasks details across all projects


Task baseline details for every existing baseline across all projects and resources


Timesheet summary information across all time reporting periods


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. 


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