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

August 10, 2018 Leave a comment
Paul Mather
I am a Project Server and SharePoint consultant but my main focus currently is around Project Server.
I have been working with Project Server for nearly five years since 2007 for a Microsoft Gold Certified Partner in the UK, I have also been awared with the Microsoft Community Contributor Award 2011.
I am also a certified Prince2 Practitioner.

This article has been cross posted from pwmather.wordpress.com (original article)

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:

{PWAURL}/_api/ProjectServer/EnterpriseResources(‘{RESGUID}’)/CostRateTables(‘A’)/CostRates

Which gives the detail:

SNAGHTML5adc642

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:

{PWAURL}/_api/ProjectServer/EnterpriseResources(‘{RESGUID}’)/CostRateTables(‘A’)/CostRates

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:

image

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

SNAGHTML581e6c0

The code needs to be updated to:

SNAGHTML5817fb9

Click done and you will see the following:

image

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:

image

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:

image

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:

image

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

image

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

image

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:

image

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

{PWAURL}/_api/ProjectServer/EnterpriseResources(‘{RESGUID}’)/CostRateTables(‘B’)/CostRates

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/

Advertisements
Categories: Paul Mather, Work Tags:

Win7 SharePoint 2016 SSL and Office 2013

July 27, 2018 Leave a comment

Some times you have to get older clients to talk to newer servers, and this was the situation I was in recently. 2 new SharePoint 2016 Farms has been build (Pre and Prod) on Windows 2016 – same server build and same SharePoint build, both running over SSL.

From a Windows 10 client running Office 2016/365 everything was fine with Office integration on both systems, but on a Windows 7 client running Office 2013 Office integration was failing with the following error when doing anything with Office Documents on the Pre system but worked perfectly on Prod (same client)

clip_image001 

This article seemed to suggest that the issue was based in the TLS settings on the Windows servers as Windows 7 by default will only support TLS1.0.

According to IISCrypto both systems fully support TLS1.0 – but clearly something was different.

A lot of organisations are moving to newer versions of TLS and Windows 7 does has an update to allow it to work with later version of TLS, but in this instance we didn’t have time to test and release an update, so it was time to fire up Wireshark and do some tracing.

From Win 7 client opening a Word doc against Prod.

clip_image001[4]

from the same  client against Pre

clip_image001[6]

A bit hard to see but we were getting TLS1.0 Handshake Failures when using Office 2013.

We tracked the issue down to the Ciphers used at Load Balancer level – once this was updates everything worked perfectly.

Categories: SharePoint Tags: ,

#ProjectOnline PWA Stats with Snapshot #JavaScript #jQuery #PPM #Office365 #PMOT #MSProject

Paul Mather
I am a Project Server and SharePoint consultant but my main focus currently is around Project Server.
I have been working with Project Server for nearly five years since 2007 for a Microsoft Gold Certified Partner in the UK, I have also been awared with the Microsoft Community Contributor Award 2011.
I am also a certified Prince2 Practitioner.

This article has been cross posted from pwmather.wordpress.com (original article)

Want to view simple PWA stats and capture the data to then build simple trend reports? This simple JavaScript and jQuery solution starter might be a good starting point. The output can be seen below:

image

Each PWA entity can be expanded to see the stats:

image

image

Then each week or month etc. you can take a snapshot of the data using the Snapshot button, this creates an item on the snapshot list:

image

The solution starter code has been published for download. The code expects the SharePoint list to already exist but that is covered in this blog post. The solution starter code can be downloaded from the Microsoft Gallery using the link here: https://gallery.technet.microsoft.com/Online-PWA-Stats-and-eb56e6bb

The code does make use of jQuery and jQuery UI, these are loaded from the jQuery CDN but you might want to download them and store them locally etc.:

image

The code expects a list called PWASnapshot in the root PWA site collection:

image

This can be updated to a different target list in the root PWA site collection, just change the listTitle variable as seen above. The following columns are required to already exist on the target SharePoint list in the PWA site collection:

image

They’re all default column settings apart from DateCaptured, this defaults to Today’s Date. If you do not need the snapshot capability, you could just comment out / remove the snapshot button from the code.

Create a new page on the PWA site to display the PWA Stats data, I created a new web part page in a library called “Pauls” in the root PWA site – this is on my test PWA site, hence a library called Pauls!

image

Download and update the solution starter as required – remember it is a solution starter so it could do with some code optimisations and better error handling etc. Upload the solution starter JavaScript code to the PWA site, in this example I uploaded it to the same library as the new PWAStats page. Edit the new page and add a Content Editor Web Part, update the Content Link to add the relative URL path for the JavaScript code as seen below in this example:

image

Update other web part settings as required then click Apply then click OK and stop editing the page.

As the data is loaded, the SharePoint modal dialog will appear:

image

This will close once all the projects are loaded as on my PWA dataset, the projects data is the largest.

Clicking the snapshot button will also load the SharePoint modal dialog:

image

This will close when the item is added to the list, then a message will display below the button to state the item has been added:

image

Trend reports could easily be created using Power BI consuming the snapshot list data to see how the data changes over time.

This could easily be extended to bring in additional PWA stats. I will probably write a blog post in the future to extend this to capture additional PWA stats.

The solution starter file contains HTML, CSS and JavaScript in the same file, for production you might want to split out the HTML, CSS and JavaScript into the separate files, reference the JavaScript and CSS files in the HTML file and link to the HTML file in the content editor web part but as this is so small having one file will be fine and is easier to manage.

Fully test on a DEV / TEST PWA instance first before using in Production. The script is provided "As is" with no warranties etc.

I hope you find it useful Smile

Categories: Paul Mather, Work Tags:

#Project #MVP Award #ProjectOnline #ProjectServer #MVPBuzz #Microsoft #MVPAward #MSProject

Paul Mather
I am a Project Server and SharePoint consultant but my main focus currently is around Project Server.
I have been working with Project Server for nearly five years since 2007 for a Microsoft Gold Certified Partner in the UK, I have also been awared with the Microsoft Community Contributor Award 2011.
I am also a certified Prince2 Practitioner.

This article has been cross posted from pwmather.wordpress.com (original article)

I had some great news today – I was renewed as a Business Solutions – Project MVP for 2018 – 2019. This is the 6th consecutive year after first being awarded in April 2013. I am really grateful for the recognition, especially as I still enjoy helping out the Project and Project Server / Project Online community so much.

SNAGHTMLd358e48

Thank you Microsoft!

Categories: Paul Mather, Work Tags:

#ProjectOnline Export Capacity Planning data to #Excel issue #PPM #PMOT #Office365 #MSProject

Paul Mather
I am a Project Server and SharePoint consultant but my main focus currently is around Project Server.
I have been working with Project Server for nearly five years since 2007 for a Microsoft Gold Certified Partner in the UK, I have also been awared with the Microsoft Community Contributor Award 2011.
I am also a certified Prince2 Practitioner.

This article has been cross posted from pwmather.wordpress.com (original article)

Just a quick post to highlight an issue I came across that I thought might be worth posting about in case anyone else runs into the same issue. In Project Online, in PWA you can export most of the grids to Excel. I was testing something in PWA and came across an issue exporting the Capacity Planning grid to Excel, I clicked the button but nothing happened, the details grid would flicker when the button was clicked but nothing after that. Opened the browser debugger and tried again, no console errors but looking at the Network log an error 500 was thrown for the ProjectServer.svc:

SNAGHTML57ccc6b

Looking at the response I could see a general unhandled exception was thrown caused by a key not being present in the dictionary:

image

Looking at the request payload I could see two resource GUIDs were included:

image

Looking at the grid data there was only one resource present:

image

Looking back in the Resource Center, I did have two resources selected:

SNAGHTML586d081

One being a Cost resource, I deselected the Capex resource and tried the Export to Excel from the Capacity Planning page and all worked as expected.

If you do run into the issue with exporting the Capacity Planning grid to Excel, check the resource types you have selected, deselect Cost and Material resources then try again and hopefully that will resolve the issue for you. I will mention this to the Project team at Microsoft to see if this is something they are already aware of.

Categories: Paul Mather, Work Tags:

Getting Starting with #ProjectOnline and #PowerApps #PVC18 presentation links #PPM #PMOT #Apps #Office365 #MSProject

Paul Mather
I am a Project Server and SharePoint consultant but my main focus currently is around Project Server.
I have been working with Project Server for nearly five years since 2007 for a Microsoft Gold Certified Partner in the UK, I have also been awared with the Microsoft Community Contributor Award 2011.
I am also a certified Prince2 Practitioner.

This article has been cross posted from pwmather.wordpress.com (original article)

Last week I had the pleasure of presenting at the awesome Project Virtual Conference 2018. During my session I referenced existing blog posts and code samples that I had previously published on my blog. As promised in the presentation, here is a blog post containing all of the relevant links to help get you started using PowerApps for Project Online. A link to my session is here: http://projectvirtualconference.com/sessions/getting-started-with-project-online-and-powerapps/

Firstly here is a link to the official PowerApps site: https://powerapps.microsoft.com/en-us/build-powerapps/

The first example app we looked at was a navigation PowerApp for Project Online, this made use of the SharePoint Online connector in PowerApps. As discussed, you would need a process to get the required Project Online data into the target SharePoint list for this approach. Here a link to an example solution starter PowerShell script that will do just that: https://pwmather.wordpress.com/2018/03/01/projectonline-powershell-to-keep-ppm-data-in-sync-on-sharepoint-list-pmot-o365/

Once the data is available, here are the two links that walkthrough creating this example navigation app:

Part 1: https://pwmather.wordpress.com/2018/02/21/projectonline-powerapps-example-office365-ppm-pmot-apps-msproject-part1/

Part 2: https://pwmather.wordpress.com/2018/02/24/projectonline-powerapps-example-office365-ppm-pmot-apps-msproject-sharepoint-part2/

The next example PowerApp we looked at in the presentation made use of the Project Online connector in PowerApps to give examples of using some of the actions available in the connector. This works directly with Project Online so does not require any background process to get data into SharePoint. As mentioned in the presentation, the properties available are fairly limited, hence for the navigation app I had to get the data from Project Online into SharePoint list first as I needed the Project Site URL which is not in the Project data set in the Project Online connector for PowerApps. This example app did make use of the Project Online connector in PowerApps: https://docs.microsoft.com/en-us/connectors/projectonline/

Here are the three links that walkthrough creating this example app:

Part 1: https://pwmather.wordpress.com/2018/03/14/projectonline-powerapps-using-the-project-online-connector-ppm-apps-msproject-o365-part1/

Part 2: https://pwmather.wordpress.com/2018/04/11/projectonline-powerapps-using-the-project-online-connector-ppm-apps-msproject-o365-part2/

Part 3: https://pwmather.wordpress.com/2018/04/26/projectonline-powerapps-using-the-project-online-connector-ppm-apps-msproject-o365-part3/

As mentioned in the presentation, you can create a PowerApp that make use of both the SharePoint connector and Project Online or any number of connectors available for PowerApps – there are lots!

PowerApps are a great way to build business applications without having to write any code!

Categories: Paul Mather, Work Tags:

#ProjectServer and #SharePoint 2013 / 2016 June 2018 Cumulative Update #PS2013 #SP2013 #PS2016 #SP2016 #MSProject

Paul Mather
I am a Project Server and SharePoint consultant but my main focus currently is around Project Server.
I have been working with Project Server for nearly five years since 2007 for a Microsoft Gold Certified Partner in the UK, I have also been awared with the Microsoft Community Contributor Award 2011.
I am also a certified Prince2 Practitioner.

This article has been cross posted from pwmather.wordpress.com (original article)

The Office 2016 June 2018 updates and cumulative updates are now available, please see the links below:

https://support.microsoft.com/en-us/kb/4299875

Project 2016 June 2018 update:
https://support.microsoft.com/en-us/kb/4022164

SharePoint Server 2016 / Project Server 2016 June 2018 update: 
https://support.microsoft.com/en-us/kb/4022173 & https://support.microsoft.com/en-us/kb/4022178

The Office 2013 June 2018 updates and cumulative updates are now available, please see the links below:

https://support.microsoft.com/en-us/kb/4299875

Project Server 2013 June 2018 CU Server Roll up package:
https://support.microsoft.com/en-us/kb/4022185

Project Server 2013 June 2018 update:
https://support.microsoft.com/en-us/kb/4022192

Project 2013 June 2018 update:
https://support.microsoft.com/en-us/kb/4022171

Also worth noting, if you haven’t done so already, install Service Pack 1 http://support2.microsoft.com/kb/2880556 first if installing the June 2018 CU for 2013.

As always, fully test these updates on a replica test environment before deploying to production.

Categories: Paul Mather, Work Tags:
%d bloggers like this: