Wednesday, October 23, 2013

#ProjectOnline #ProjectServer oData "One or more Data Connections Failed to refresh"

I've been exploring the magical world of Project Online oData Reporting this last month. So far I've managed to pull together some pretty useful PowerPivot-based Timesheet dashboards, and some decent Project/Task Statusing reports.  Nothing as fun as on-premise, but not a bad start.  

However....as well as the well documented service change required to grant reporting access to project online (see here: http://office.microsoft.com/en-gb/office365-project-online-help/grant-reporting-access-in-project-online-HA104021109.aspx) there is another issue to be aware of.

One thing has been concerning me, and that is data set sizes. As we need to pull down some large tables to build a decent data-model  it has become clear that filtering the feeds is the only way to make these reports workable.  Unfortunately, with Project Online its not quite as easy as that.

SharePoint in Office365 uses WopiFrame to display published Excel reports in the browser.  This is basically the Office Web App, rather than the standard xlviewer seen in non-webapp installations.

You can see the behavior in the URL of the report when you view it in the browser

Unfortunately this Office Web App viewer has a limitation that it cannot accept filtered odata feeds when refreshing reports in the browser.  When refreshing reports with filtered feeds you will receive something like:

External Data Refresh Failed
An error occurred while working on the Data Model in the workbook. Please try again. 
We were unable to refresh one or more data connections in this workbook.
The following connections failed to refresh: 
etc

There is a powershell script (below) to switch the default behavior for an on premise installation but this isn't available online.

The command to change this behavior for on-premise is: New-SPWOPISuppressionSetting -extension xlsx -action view

So, what this is currently looking like (and I am hunting for alternatives here) is that - for project online, you cannot use filtered oData feeds  and still allow the report to be refreshed via the browser

This is a fairly fundamental limitation of this service, and one that I understand is known of (although it was new to me) so I am hopeful for a fix/change to this.

here's hoping....


.... oh, and don't get me started on the lack of OUTER join function in PowerPivot