none
Deliverable and dependencies report (oData is not providing data) RRS feed

  • Question

  • Has any one attempted to display a report of Deliverables & Dependencies in Project Online ?

    I am able to get the list of deliverables using oData end Point /_api/ProjectData/Deliverables

    But i can't see any way to retrieve dependencies. I have created several deliverables & Dependenies in my dev instance. 

    The end point /Deliverables(DeliverableId=guid'49690aac-bfe1-4f29-abd5-a63b1043b511',ProjectId=guid'd65c00d4-b27c-e711-80da-00155d18ad16')/DependentTasks always return empty set

    The end point _api/ProjectData/Projects(guid'd65c00d4-b27c-e711-80da-00155d18ad16')/Dependencies and _api/ProjectData/Projects(guid'd65c00d4-b27c-e711-80da-00155d18ad16')/Deliverables both return exact same data. I.e. about the deliverable. Nothing about dependency is returned.

    So the question is, how can i report on Deliverable & dependencies?


    Hammad Arif EPM Advice Blog

    Monday, September 11, 2017 3:32 AM

All replies

  • Bump !

    Has any ever reported on Deliverables and dependencies in Project Online?


    Hammad Arif EPM Advice Blog

    Thursday, September 14, 2017 12:07 AM
  • Yes would be keen to have an answer from any MS or MVPs here as I have found the same lack of data/tables to report on dependencies or even a way to find the linked task for the deliverable
    Thursday, February 22, 2018 10:25 PM
  • I have found a solution to this problem.

    The project that has Dependencies must have at least have one Deliverable before the dependency shows up in oData feed. The example oData URLs will be 

    1) To get all deliverables

    /_api/ProjectData/Deliverables

    2) To Get dependencies of a specific Deliverable

    /_api/ProjectData/Deliverables(DeliverableId=guid'49690aac-bfe1-4f29-abd5-a63b1043b511',ProjectId=guid'd65c00d4-b27c-e711-80da-00155d18ad16')/DependentTasks

    3) To Get task information to which a Deliverable is linked to

    /_api/ProjectData/Deliverables(DeliverableId=guid'49690aac-bfe1-4f29-abd5-a63b1043b511',ProjectId=guid'd65c00d4-b27c-e711-80da-00155d18ad16')/Tasks


    So if Project A has a dependency from a Deliverable in Project B, Project A must also have at least 1 deliverable defined. 

    Cheers


    Hammad Arif EPM Advice Blog

    Thursday, February 22, 2018 11:41 PM
  • Thank you Hammad we'll see how we can use this in Power BI to dynamically build an ODATA URL as source(s) for the various projects and deliverables. Is there a wildcard you can use for the guids to get all deliverables and dependencies or tasks?
    Thursday, February 22, 2018 11:57 PM
  • Hi Ray,

    I guess it should be possible (but very tedious) to do so in M Query language in Power BI.

    We have noticed that Power BI fails to refresh Project Online data once the data exceeds couple of hundreds of Projects (regardless of filters applied in query to reduce data size)

    So we use an intermediate SQL database as Power BI Data source.

    To obtain deliverable data in SQL DB, I use either one of the following approaches for different clients.

    1) An SSIS package where you can easily define a loop to create dynamic URLs for each deliverable

    2) A Powershell script to loop through all deliverable.

    Cheers


    Hammad Arif EPM Advice Blog

    Friday, February 23, 2018 12:16 AM
  • There is also a related item on UserVoice

    https://microsoftproject.uservoice.com/forums/218133-microsoft-project/suggestions/18062158-deliverables-dependencies-odata


    Hammad Arif EPM Advice Blog

    Saturday, February 24, 2018 2:55 AM
  • Hi,

    This post has been very useful indeed. Points (1) and (2) work perfectly.

    However, regarding point (3) - I get an error when I try this and upon further investigation, the Tasks table doesn't exist for me under the Deliverables table. I can only see DependentTasks, DependentProjects, ParentProjects, ParentTasks and Project. I've tried ParentTasks but that doesn't give me the task linked to the deliverable. Any ideas? Is the mistake mine?

    For clarity, the error I get is;

    DataSource.Error: OData: Resource not found for the segment 'Tasks'.
    Details:    DataSourceKind=OData
    DataSourcePath=[edit]/_api/ProjectData/Deliverables(DeliverableId=guid'085dff5b-9b40-4fca-9ea5-eb673b7e53c5',ProjectId=guid'4775dfef-8cfc-e811-afad-00155d08a711')/Tasks

    Note that /_api/ProjectData/Deliverables(DeliverableId=guid'085dff5b-9b40-4fca-9ea5-eb673b7e53c5',ProjectId=guid'4775dfef-8cfc-e811-afad-00155d08a711')/DependentTasks works fine for point (2).

    Thanks, Pete

    Thursday, July 11, 2019 3:55 PM
  • I managed to do this through MS Flow with a nested loop - i.e. look up the Deliverables table and then for each Deliverables lookup the unique URL. It then dumps the key data in a SharePoint List which can used for Power BI reports etc. Works like a charm!

    Pete

    Thursday, July 11, 2019 3:58 PM
  • Hi Peter

    Could you explain how you did this in Flow?

    What action is it you use to 'get' the information from the table?

    Thanks

    Steve

    Friday, September 4, 2020 3:29 PM
  • Agreed Steve - it seems impossible to get the corresponding TaskId for a deliverable in any way. 
    Monday, September 14, 2020 10:17 AM