#ProjectOnline #PPM #PowerBI Project Compliance Report Pack #BI #Reporting #PowerQuery #DAX #Office365

October 22, 2018 at 9:29 pm | Posted in Add-on, Administration, Functionality, Information, Reporting | 3 Comments
Tags: , , , , ,

This is a supporting blog post for a new Project Online Power BI Report Pack that I have published. This report pack provides examples for a project compliance / audit type check to ensure your projects follow certain planning standards. This follows on from the previous report packs that I published: https://pwmather.wordpress.com/2017/10/31/projectonline-ppm-powerbi-report-pack-v2-bi-reporting-powerquery-dax-office365/ This new report pack follows the same theme / styling. The compliance report pack can be downloaded from the Microsoft Gallery, the link to download the report is here: https://gallery.technet.microsoft.com/Online-Power-BI-Compliance-b45b657c

The report pack consists of two reports, a summary report for project level checks and a detailed report for tasks, risks and issues checks. These can be seen below:

Summary Page:


Project Details (Select a Project from the filter):


Same report but with a different project selected:


These reports only use default intrinsic fields so it should work for all Project Online deployments.

Once downloaded, the report pack data sources will need to be updated to point to your target Project Online PWA instance. To do this you will need the Power BI desktop tool installed. This can be downloaded here: https://powerbi.microsoft.com/en-us/desktop

Open the downloaded PWMatherProjectOnlinePowerBIAuditComplianceReportPack.pbit template file in Power BI Desktop and follow the steps below to point the data sources to your Project Online PWA instance:

  • In the parameter window that opens, enter the full Project Online PWA URL without the /default.asp – such as https://tenant.sharepoint.com/sites/pwa
  • Click Load
  • The data will now start to load and you will be prompted to connect
  • On the OData feed window, click Organizational account and click Sign in and enter credentials as required
  • Click Connect
  • On the Privacy levels window set the privacy as required
  • Click Save
  • The data will load – this may take a few minutes depending on the dataset size in Project Online
  • Access the Project Details page and select a project from the project filter
  • Save the report

Please note, some of the steps above might not be seen if you have connected to the Project Online instance from Power BI Desktop previously. This file can either be emailed around to colleagues with details on how to update the credentials to their own or what would be better is to create a Power BI app workspace and give users access: https://docs.microsoft.com/en-us/power-bi/service-create-workspaces

The checks in this pack are just examples and might not be applicable to your organisation but it will give you a good starting point it you do not have any compliance / assurance type reports today.

I will plan to update this in the future, so feel free to add comments for any suggested project compliance checks, provided they are generic enough and possible using only intrinsic fields, I will look to add these in a later release.

I hope you like it Smile


#ProjectOnline reporting on task Predecessors and Successors #O365 #MSProject #PPM #PMOT # Excel #PowerBI #OData

October 13, 2018 at 9:23 am | Posted in Administration, Configuration, Customisation, Fixes, Functionality, Information, Reporting | 3 Comments
Tags: , , , ,

A few times I have heard this topic come up so I thought it was worth a quick blog post to give two examples for getting access to this detail. Firstly a quick look at my sample project to see the data and task links:


As we can see, all tasks are linked. The predecessor and successor details are not available in the OData reporting API by default: ({PWASiteURL}/_api/ProjectData).

The first option we will explore is using the REST CSOM API ({PWAURL}/_api/ProjectServer). To access this is not a simple read from one endpoint like it would be in the OData reporting API if the data was there. When using the CSOM REST API you have to first get the project then from there you can get the task details and task link details. Below we walkthrough this process and view the results. I am just using the browser to return the data for ease. Let’s have a look at this Project data using: {PWASiteURL}/_api/ProjectServer/Projects(‘a28bf087-2acb-e811-afb0-00155d143a0e’) where the GUID is the project GUID for the project seen above. This returns:


Here you can see all of the related endpoints and then the project properties below. I have outlined in red the two related endpoints that are useful to us, the TaskLinks and Tasks.

Lets have a look at the TaskLinks first – we have 4 links in the simple plan displayed above, this matches what we see in the TaskLinks endpoint:



For each link we can then access two other endpoints /End and /Start and see two properties for the link, Id and DependencyType. Id is the TaskLink Id and DependencyType is the internal dependency type value, the enumerations for the dependency type can be found here: https://msdn.microsoft.com/en-us/library/microsoft.projectserver.client.dependencytype_di_pj14mref.aspx. Looking at the data returned, I have 3 links with a dependency type of 1 (Finish to Start) and 1 link with a dependency type of 3 (Start to Start). Now for one of those TaskLinks, we will look at what the /End and /Start endpoints provide. I will use the TaskLink with a Start to Start dependency type for this. Firstly the /Start endpoint:

{PWASiteUL}/_api/ProjectServer/Projects(‘a28bf087-2acb-e811-afb0-00155d143a0e’)/TaskLinks(‘0d7da2b3-2dcb-e811-9328-1002b5489337’)/Start – where the 2nd GUID is the TaskLink GUID


This returns all of the data for the starting task, in this example it is task T2 (I’ve updated the REST call to just return the task name:


Task T2 is the task starting the link as seen in the project plan:


The /End endpoint, as you can guess will return the same details but for the task ending the link:

{PWASiteUL}/_api/ProjectServer/Projects(‘a28bf087-2acb-e811-afb0-00155d143a0e’)/TaskLinks(‘0d7da2b3-2dcb-e811-9328-1002b5489337’)/End – where the 2nd GUID is the TaskLink GUID – I’ve update the REST call to just return the task name:


This returns T3 from the example project:


As you can see, using the TaskLinks endpoint once we have the project, we can then navigate to find the task details for the linked tasks.

Now lets look at what the /Tasks endpoint can do for us to find the linked tasks. Accessing the {PWASiteUrl}/_api/ProjectServer/Projects(‘a28bf087-2acb-e811-afb0-00155d143a0e’)/Tasks endpoint will return all of the tasks in the project (based on the project GUID used in the REST call):


For each task in the project we can see the task properties but also navigate to another endpoint to view more related data for that one task. For example, we can then navigate and view the /Predecessors and /Successors. I will use task T3 for this walkthrough by passing in the Task GUID for T3. Accessing the predecessors data for task T3:

{PWASiteUrl}/_api/ProjectServer/Projects(‘a28bf087-2acb-e811-afb0-00155d143a0e’)/Tasks(‘b3433ba7-2dcb-e811-9328-1002b5489337’)/Predecessors – where I have passed in the task GUID for T3:


This returns the TaskLink details for the predecessor task – from that point we can then use the /End and /Start related queries to get the linked task details. The same goes for the /Successors endpoint for the example task T3:

{PWASiteUrl}/_api/ProjectServer/Projects(‘a28bf087-2acb-e811-afb0-00155d143a0e’)/Tasks(‘b3433ba7-2dcb-e811-9328-1002b5489337’)/Successors – where I have passed in the task GUID for T3:


This returns the TaskLink details for the successor task – from that point we can then use the /End and /Start related queries to get the linked task details.

As you can see, trying the get that data for all linked tasks in a report using Power Query wouldn’t be a simple query to one endpoint but it is possible to follow it through to get the data needed.

The next option to look at is creating two task level calculated fields so that you can get the predecessor and successor details in the /Tasks endpoint in the OData reporting API ({PWASiteURL}/_api/ProjectData/Tasks). Whilst this is simplifies the reporting experience there is a performance cost to this – certainly for large projects with many tasks. Also this will use 2 of the recommended maximum 5 task level calculated fields! In PWA Settings > Enterprise Custom Fields and Lookup Tables, create two new Task level text fields that use formulas, one field will be for predecessors and one for successors. In the predecessors field formula use [Predecessors] and in the successors field formula use [Successors]. The predecessors custom field can be seen below:


The next time you publish your project/s you will then see the data available in the OData Reporting API:



Hope that helps!

#ProjectOnline Supporting Projects and Programs Part 3 #PPM #MSProject #Office365 #PMOT #PMO #SharePoint #PowerBI

October 1, 2018 at 6:27 pm | Posted in Administration, Configuration, Customisation, Functionality, Information, Reporting | Comments Off on #ProjectOnline Supporting Projects and Programs Part 3 #PPM #MSProject #Office365 #PMOT #PMO #SharePoint #PowerBI
Tags: , , , , , , ,

In part 3 of this mini series of blog posts we will look at a basic report example to support projects and programs making use of the configuration changes in part 1 and 2. For those of you that missed part 1, see the post here: https://pwmather.wordpress.com/2018/09/19/projectonline-supporting-projects-and-programs-part-1-ppm-msproject-office365-pmot-pmo/ and part 2 here: https://pwmather.wordpress.com/2018/09/21/projectonline-supporting-projects-and-programs-part-2-ppm-msproject-office365-pmot-pmo-sharepoint/

Now that we have done some very simple configuration changes in PWA and the Project Sites and then populated some example test data in the PWA instance we can look at example reports. We won’t cover creating these reports from start to end as this isn’t the purpose of the post, it is purely to highlight how to make use of the configuration changes to give to the program level reporting. These reports are also not engaging or showing casing Power BI, so you will want to create much better looking reports as these are just used to show examples of the data!

Firstly, lets look at the Project Center so you get an idea of the Project data I have in this test instance:


Notice I have two projects tagged and 1_Program projects but one in each program. These are the projects that will provide the data in the first page of my Program report:


The slicer is using the Program custom field:


To limit the data on this page, I have added page filter using the Project Plan Type field and filtered to “1_Program” projects:


So this page shows data for the project tagged with “1_Program” in the Project Plan Type field and in this case, the project tagged with “IT Transformation” which in my data set is the “IT Change Program” project. I don’t have much data on this page but this is just to show the data is for the program level project.

The next two pages show similar details for the program, one shows the details and the other shows some charts (just to add some colour!) but they both work the same way in filtering data that is only relevant at the program level:



On these pages there are no page level filters set, the tasks, risks and issues visualisations all have a filter applied to only display tasks, risks or issues that are requiring attention at the program level. On the tasks visuals we are using the task level “Escalation Level” field and filtering to only include tasks tagged with “1_Program”:


On the risks and issues visuals, we do the the same but use the “Category” field and filter to only include risks or issues tagged with “1_Program”:


This provides quick access to data relevant to the program. As we can see, these are very simple examples but the concept can be applied to larger datasets with more fields and data but the first page / report example will only work providing you one have 1 project plan per “program” value tagged with “1_Program” in the “Project Plan Type” Project level field.

That’s it for this short series – I hope that you found it useful!

#Microsoft #Project Roadmap product at a glance #PPM #Office365 #Flow #PowerPlatform #Dynamics365 #Azure #AzureBoards

September 26, 2018 at 4:40 pm | Posted in Functionality, Information | 1 Comment
Tags: , , , , , ,

Following on from the announcements on Monday at Ignite from the Project product group, there was a session today on the Project Home and Roadmap products. For those that missed the post on the announcements, here is a link to the blog post that has some notes around this: https://pwmather.wordpress.com/2018/09/24/microsoft-project-the-future-ignite-ppm-pmot-workmanagement-projectonline-projectmanagement/

In this blog post I will include some screen shots taken from Chris’ session today at Ignite and mention some of the features that Roadmap has. I wont talk about Project Home here as I already blogged about that previously: https://pwmather.wordpress.com/2018/08/20/new-projectonline-project-home-office365-ppm-ui-ux-msproject-fabricui/

So Roadmap is the new product that is planned to be available early 2019. Roadmap is a product that enables organisations to visualise projects from various different tools in one timeline type view. On the first release it will support Project Online projects as well as Azure Board projects (formerly known as VSTS) with a view to supporting other types of projects in later releases such as Planner projects, new Project Service projects etc. To give you some context before we move on, here is a screenshot of a Roadmap from Chris’ slide deck today:


As you can see from the screen show about, each project is a row, each row has a name (free text – not the actual linked project name) and an owner (free select people picker from the the tenant users – not the actual linked project owner). Then in the details you can add tasks from the linked projects. On the timeline you can add key dates. You have full control over the order of the rows, move these up and down as you like using the Move Up and Move Down buttons.

Roadmaps will be created and accessed in the Project Home product, the Create New button in Project Home will contain the Roadmap option once released. This will load a blank canvas pretty much instantly. The roadmaps can be renamed at any time by clicking the name in the top left corner, that loads a Roadmap panel, here you also set the Roadmap owner:


To add a new project,firstly you would use the Add row button, type the name of the row and set the owner for the row. You can then connect the row to a Project Online project or an Azure Boards projects in the first release (more project type support to come later). When connecting a row to a project, firstly select whether it is a Project Online or Azure Boards project, then put the correct URL in for that service. Once connected to that service, you can start typing the name of the project you want to connect to then the list of projects will start to appear for you to select. You then connect to that project (using a Microsoft Flow in the background). You can then use the Add Row Item button with that row selected, that will open the add row items panel. Here you can start typing the names of the tasks you want to add then the list of tasks will appear for you to select. Once you have selected all of the tasks (you see a preview table of selected tasks with start and end dates in the row items panel) you then add those to that row. These will be linked to the source project, so as the data changes in the source project, Microsoft Flow will pick up the changes and update the synced data the Roadmap project row is using in the Roadmap common data service (CDS) database. Part of the Flow seen below:


Tasks in the roadmap can be given a status of either Unset Status, On Track, Potential Problems, At Risk or Done using the task card:


Setting the status will update the task bar on the Roadmap.

Key dates are added to the Roadmap using the Add key date button, this loads a pop to create the key date and set the status (same status options as tasks):


For Roadmaps with large numbers of projects added, you can filter by the row / project owner:


You also have a zoom control to change the zoom of the timeline.

Access to the Roadmap is controlled via the Office 365 Groups via the Roadmap interface, to add users click the Members button and type the users names:


So each Roadmap will get to make use of all the features Office 365 Groups enables such a SharePoint site, SharePoint document library, Shared Inbox, Calendars etc. Using Office 365 Groups means Roadmaps can either be private or public.

That’s is for now, but I’m looking forward to getting access to this!

Before I finish, another interesting slide Chris shared was the Platform one to give an idea of how things are architected (high level):


There are lots of exciting changes happening in Project!

#Microsoft #Project – the future #Ignite #PPM #PMOT #Workmanagement #ProjectOnline #ProjectManagement

September 24, 2018 at 9:18 pm | Posted in Administration, Configuration, Functionality, Information | 3 Comments
Tags: , , , ,

From the session today for Project Online, 3 key points:


All project work management experiences from the Project Home that was recently released – this is now live: https://pwmather.wordpress.com/2018/08/20/new-projectonline-project-home-office365-ppm-ui-ux-msproject-fabricui/

From the Project Home you will be able to create different project artefacts, such as a Roadmap (see below) or a new project.

New feature for Project is the Roadmap product – first release early 2019 calendar year, a visual tool that lets you visualise projects on a timeline view with a row per project. On each row you can display tasks from each project added to the Roadmap. This will allow you to see projects from Project Online, Azure Boards, Planner, the new Project Service (see below) etc. Security backed by modern Office 365 groups. Connections to these projects are based on Microsoft Flow, data synchronised using Microsoft Flow. Some screenshots below:



Another new feature is the new Project Service – first release during 2019, this is not Project Online but a new Project product written from the group up. This has a lot of focus on being a modern UI with a great user experience, being simple to use yet powerful. Under the covers all of the great scheduling features are there, it’s a revamped scheduling engine that is used today in Project Online – but re-engineered to be scalable and optimised. Lots of changes such as no need to build team anymore, you can just type user names from the organisation into a people picker, these are added into the resource pool.

Screenshot of resourcing:


Co-authoring possible in the new project and no check in check or save / publishing actions required.

The new Project Service will make use of the Universal Resource Scheduling service to enable better resourcing across the organisation, here is a Dynamics 365 link to this service: https://blogs.msdn.microsoft.com/crm/2018/05/07/whats-new-in-universal-resource-scheduling-for-dynamics-365-may-2018-update/

Project Desktop is still a first class citizen in the new Project if project managers wanted to continue using the Project Desktop tool.

New Project feature is built on the Power Platform backed by the CDS which means making use of Microsoft Flow and Power Apps very simple! Power Apps for Project Online is something I spoke about at the Project Virtual Conference: https://pwmather.wordpress.com/2018/06/14/getting-starting-with-projectonline-and-powerapps-pvc18-presentation-links-ppm-pmot-apps-office365-msproject/ – this becomes very simple and a lot more powerful in the new Project service! The same goes for Microsoft Flow: https://pwmather.wordpress.com/tag/flow/  – the potential and power to build awesome apps for Project will be very simple!

All new services for Project (Roadmap, new Project Service etc.) are built on the Common Data Service for apps. Details on the CDS can be found here: https://docs.microsoft.com/en-us/powerapps/maker/common-data-service/data-platform-intro

Modern Work management eco system:


Microsoft’s Work Management vision:


Project Online will continue to get security and performance improvements.

Organisations will be able to run both Project Online and the new Project Service side by side and pull data in to a Roadmap from both. There will be some form of migration from Project Online to the new Project Service but details are still to be confirmed.

Exciting times ahead for the Microsoft Project space!

#ProjectOnline Supporting Projects and Programs Part 2 #PPM #MSProject #Office365 #PMOT #PMO #SharePoint

September 21, 2018 at 9:00 pm | Posted in Administration, Configuration, Customisation, Functionality, Information, Reporting | 1 Comment
Tags: , , , , , , ,

In part 2 of this mini series of blog posts we will look at the configuration on the Project Sites to support projects and programs. For those of you that missed part 1, see the post here: https://pwmather.wordpress.com/2018/09/19/projectonline-supporting-projects-and-programs-part-1-ppm-msproject-office365-pmot-pmo/ 

As the Project Site are SharePoint sites, this also has many configuration options but this needs to be considered careful based on your reporting requirements. Whilst all of the data in SharePoint is accessible for reporting not all data on the Issues and Risks lists is available in the Project Online OData Reporting API. Only the data from default list columns Microsoft include on the Issues and Risks are included in the Project Online OData Reporting API. Other data from custom columns on the lists is accessible but only via the SharePoint list REST APIs but this can be tricky to report on for a cross project report. Here is an example for accessing this data in Power BI reports: https://pwmather.wordpress.com/2016/01/05/want-to-query-cross-project-site-sharepoint-lists-in-projectonline-projectserver-powerbi-powerquery-bi-office365-excel-ppm/ As we want to keep this as simple as possible, we will ensure the data we need in synchronised to the Project Online OData API. The Category column on the Issues and Risks lists is the ideal default column to use for our requirements. By default this contains the following values:

(1) Category1
(2) Category2
(3) Category3

We will update these values for the Category columns to match the lookup table values we created for the Project Plan Type and Escalation Level PWA custom fields:



This is done on each list, for example access the Risks list, click the List tab then List Settings. Scroll down the page to the columns and click the Category column and update the values. Repeat for the Issues list then repeat for the other project sites. You need to be careful updating some of the default Issues and Risks columns as you can break the synchronisation processes to the Project Online reporting schema which the OData Reporting API uses. If you do break this sync, you will see queue errors in the PWA Manage Queue page. Changing just the choice values as I have will be fine and not cause sync issues but fully test changes to ensure the data syncs as expected with no queue errors. As the Issues and Risks use a list content type, these change need to be made in the site template so new project sites get new values and manually or via code in the existing project sites but that is beyond the scope of this post but here is a post that might help get you started: https://pwmather.wordpress.com/2016/07/08/access-projectonline-project-sites-using-powershell-and-sharepoint-csom-office365/ or https://pwmather.wordpress.com/2016/05/04/projectonline-projectserver-project-site-provisioning-using-office365-pnp-remote-provisioning-sharepoint-powershell/ When updating existing project site lists, you will need to consider existing data on those lists as they might be using values you are wanting to remove.

Now our project sites have the correct Category values for Issues and Risks, we can tagged the items as needed as seen below on an example project:





You could also update the Risks and Issues view to and views that filter to just Program or Project or group by Category etc. Now the project sites are updated, when Issues and Risks are created these can be tagged with the correct category to make these visible in Program level reports.

In the final part of this blog post series we will look at using this data in example Power BI reports.

#ProjectOnline Supporting Projects and Programs Part 1 #PPM #MSProject #Office365 #PMOT #PMO

September 19, 2018 at 7:57 pm | Posted in Administration, Configuration, Customisation, Functionality, Information, Reporting | 2 Comments
Tags: , , , , , , ,

Microsoft’s Office 365 PPM tool, known as Project Online is a very flexible tool in that it is fully configurable to support your organisations PPM requirements. An intro to some of the configuration options can be found in my getting started guide I wrote a few years back: https://pwmather.wordpress.com/2014/07/22/getting-started-with-projectonline-round-up-ps2013-office365-project-ppm-sharepointonline-pm-sp2013/ 

In this mini series of blog posts we will look at an option for supporting a simple project hierarchy of projects and programmes – known as programs across the pond. Due to the flexibility Project Online offers, there are several ways this can be done – there is no right or wrong way. The right way is the way that works for your organisation. In this example we will use custom fields to support projects and programmes, these will be at the project level, task level and also the issues and risks lists. But you could do this with Enterprise Project Types (EPTs) with different project site templates and custom fields but for the purpose of this blog post we will just use the fields and all projects are under that same EPT. In this series of posts we will look at the minimum required PWA configuration, the SharePoint configuration and then finish off with some simple example reports making use of the configuration changes we implement.

Firstly we will look at the PWA custom fields then the Project Site columns. In PWA navigate to PWA Settings > Enterprise Custom Fields and Lookup Tables. I created a new lookup table to hold the following values to determine the level, I called this Project Plan Type:


I created another lookup table called Program to list the programs used in the organisation:


As you can see, I just created two test / example program values just for the purpose of this blog post. Next I created two project level custom fields, one call Program linking to the Program lookup table and one called Project Plan Type linking to the Project Plan Type lookup table:


These are used to tag the projects with the correct project type and associate the projects to the correct program.

I also created a task level field called Escalation Level and linked that to the Project Plan Type lookup table:


This task level field is used to escalate / highlight tasks or milestones from the project plans up to the program level if needed.

These are the only fields I need to add to support my simple project / program scenario.

Next up I will configure a Project Center view to support my projects and programs, in PWA Settings navigate to Manage Views and create the new view/s as required. In this example, I copied the default Summary view, called it Programs. I then edited this new Programs view to include the two new project level fields – Program and Project Plan Type. I then added a grouping to group by Program then by Project Plan Type and sort by Project Plan Type:


Which results in – these are just test projects for the purpose of this blog post:


This view enables us to easily see the project and program data as well as aggregate the data to the summary grouping rows where applicable.

I then updated the Task Summary Project view to include the new Escalation Level field so that this new field can be used in PWA. It could also be added to an Enterprise Global view so that it was available by default in a Project Desktop client view/s. The updated view can be seen here:


Next, ensure the two new Project level fields are present on a Project Detail Page (PDP) so that users can set the values as needed.


We are now able to capture the schedule data required to support this simple scenario for projects and programs. The details for each project are managed as normal in the “2_Project” type projects, any tasks or milestones that need escalating to the program would be tagged correctly and viewed in reports. Program level activities are managed in the “1_Program” type project, all of the program level summary details such a Status Summary as seen on the PDP image above are added to the program project. In the next post we will look at how we can support this on the Issues and Risks lists on the Project Sites.

#ProjectOnline data flows diagram #Office365 #PPM #MSProject

August 23, 2018 at 9:51 pm | Posted in Administration, Configuration, Functionality, Information | Comments Off on #ProjectOnline data flows diagram #Office365 #PPM #MSProject
Tags: , , ,

I have put together a very simple diagram to describe some core data flows in Project Online / Project Server for actions like opening projects, save a project on a PDP etc. This high level diagram can be seen below:


Click the image to see a larger version.

There are probably some scenarios where this image isn’t 100% accurate but it gives you a good starting point for most core scenarios / data interactions with Project Online and Project Desktop.

I hope that you find it useful – happy to extend it / update it with more Project Online data entities if people find it useful!

New #ProjectOnline #Project Home #Office365 #PPM #UI #UX #MSProject #FabricUI

August 20, 2018 at 7:29 pm | Posted in Administration, App, Functionality, Information | 3 Comments
Tags: , , ,

Recently you may or may not have seen that Project Online has a new Project Home page to improve access and navigation to the projects that you need access to. Those of you that navigate directly to your Project Online PWA URL probably won’t have noticed the new feature, those of you that use the Project app from the app Office 365 app launcher / waffle might have seen this if your Office 365 tenant has been updated.

Access Project from the Office 365 App Launcher:


Or from the office.com site (click Explore all your apps):


This feature is currently rolling out, at the time of writing clicking the Project app on my tenants just directed me to the default /sites/PWA site as it always has done since Project Online was launched. Whilst this feature rolls out fully you can still try and access the new Project Home by navigating directly to https://project.microsoft.com if this has reached your tenant yet. If the feature hasn’t rolled out to your tenant yet, you might see a message stating that you don’t have access to this page.

On one of my demo tenants I can access this:


When you first access the Project Home app, you will see the placeholders for the projects if you have no data there, you have a favourites sections and a Recent section. Here is the page after accessing a few projects on my demo system:


I have 4 projects in my recent list as seen above. You can hover over the project row in the Recent list to add a project as a favorite using the star icon or click the ellipsis to see a menu and use the the Add to favorite menu option:


This then pushes the projects to the favorites section:


You can then click the ellipsis on the card to remove a project as a favorite:


Clicking the project card or project name row in the recent list will navigate you to the project detail page (PDP) – the last PDP you accessed just like it does from the Project Center page as this uses the projectdrilldown.aspx page which will load the last PDP you accessed for that project.

The recent project list will contain projects from multiple Project Web App (PWA) instances on the same Office 365 tenant to give you that central Project Home page for all projects you accessed. By default you will see 8 projects on the recent list ordered by the last accessed time, once you reach more than 8 project, you have the Show more control:


This will then display the next 8 projects, keep pressing Show more until all are displayed, you then see a Show less control:


You have the same feature on the favorites section too:


Also on this page you can use the Create New > Project feature:


This will launch the Create a new project wizard page on the default PWA instance on the tenant – the default instance is /sites/PWA:


You also have the ability to navigate to the the default PWA instance (_sites/PWA) homepage using the “Go to Project Web App –>” link:


Or the Project link on the top nav bar:


On the settings cog you have the license information:


This loads a license page that displays the licenses for the 3rd party software packages / libraries used in Project Home.

Great to see a new look and feel for Project making use of the Office Fabric UI React components.

Reporting on #ProjectOnline Resource Cost Rate Tables #Office365 #PPM #PowerBI #Excel #PowerQuery #MSProject

August 10, 2018 at 4:18 pm | Posted in Administration, Configuration, Customisation, Functionality, Information, Reporting | 1 Comment
Tags: , , , , , , ,

The resource cost rate table details are not available in the Project Online / Project Server OData Reporting API (_api/ProjectData) but they are accessible using OData but from the CSOM REST API (_api/ProjectServer). In this blog post, I will walkthrough getting this data into an example Power BI report. It wont look pretty, that’s not the idea of this post!

To get this data you need to use the _api/ProjectServer API as seen below in the example for cost rate table A:


Which gives the detail:


To get all of the resources different cost rate A details, you would need to dynamically pass in the RESGUID. In the steps below we look at doing this in Power Query so this would work for either Power BI or Excel but for the purpose of the blog post, I’m using Power BI.

In Power BI, create a new OData connection using the Get Data > OData option. Use the following URL:


Update with the correct PWA URL and a valid resource GUID from that PWA instance. Edit the data so it loads the Power Query Editor:


I renamed this to fn_getResCostRateA as this will become a function. Open the advanced editor:


The code needs to be updated to:


Click done and you will see the following:


No need to do anything with the parameter or buttons. Now we need to add another data source in for the resource metadata. Add a new new OData data source in from the Power Query Editor window and use the following URL:

{PWAURL}/_api/ProjectServer/EnterpriseResources?$Select=Id,Name&$Filter=ResourceType ne 3

Update with the correct PWA URL. This will get the list of resource GUIDs to pass into the function and also the resource name to be used in the report. I renamed the connection to Resource Details – Cost Rate Table A:


Once you have edited the query as required a new custom column needs to be added to invoke the function created earlier. Click the Add Column tab then click Custom Column. Give the column a name such as GetCostRateADetails then enter the following: fn_getResCostRateA([Id]) as seen below:


When clicking OK, this might take a while depending on how many resources you have as this will invoke the function for each project and call the REST API, passing in the Id for that row and bring back the cost rate A table records. Once completed you will see the tables as below in the new custom column:


Now the column needs to be expanded, click the double arrow in the custom column heading and expand the cost rate fields:


Click OK and the data will refresh / load then display the data for the cost rate fields:


Notice for those resources with multiple cost rate table entries there are multiple rows per resource. These are just resources from the Microsoft Project Online demo content with updated cost rate entries.

That’s it, now load into Power BI and create the report – a basic table example below:


For other cost rate tables, repeat the process but replace the A for the other cost rate tables such as:


This dynamic function process is the same process I’ve used and detailed before in previous blog posts for Power Query such as this one: https://pwmather.wordpress.com/2018/01/03/projectonline-powerbi-report-include-html-formatting-ppm-pmot-powerquery-odata-rest-part-2/

« Previous PageNext Page »

Create a free website or blog at WordPress.com.
Entries and comments feeds.