您可以使用PowerBI Odata提要通过ProjectServer REST API从Project Online获取任务数据。例如,在浏览器中(登录在线项目后)尝试以下操作:
https://[yourtenant].sharepoint.com/sites/[yoursite]/_api/ProjectServer/Projects('[projectGUID]')/ Tasks('[taskGUID]')
如果这样做,您将在浏览器中获得类似于以下内容的返回值:
<content type="application/xml">
<m:properties>
<d:Id m:type="Edm.Guid">83e390a8-d357-e911-afb5-00155d0c6b26</d:Id>
<d:OutlinePosition>2</d:OutlinePosition>
<d:ActualFinish m:type="Edm.DateTime">0001-01-01T00:00:00</d:ActualFinish>
<d:ActualStart m:type="Edm.DateTime">0001-01-01T00:00:00</d:ActualStart>
<d:Cost m:type="Edm.Double">13591.68</d:Cost>
<d:Duration>4d</d:Duration>
<d:Finish m:type="Edm.DateTime">2019-04-10T17:00:00</d:Finish>
<d:IsActive m:type="Edm.Boolean">true</d:IsActive>
<d:Name>Develop Analysis of Alternatives (AoA) Study Guidance</d:Name>
<d:OutlineLevel m:type="Edm.Int32">1</d:OutlineLevel>
<d:PercentComplete m:type="Edm.Int32">0</d:PercentComplete>
<d:PercentPhysicalWorkComplete m:type="Edm.Int32">0</d:PercentPhysicalWorkComplete>
<d:RemainingDuration>4d</d:RemainingDuration>
<d:Start m:type="Edm.DateTime">2019-04-05T08:00:00</d:Start>
<d:Work>160h</d:Work>
<d:Custom_x005f_90eaefb93561e911afb900155d0c3815 m:type="Collection(Edm.String)">
<d:element>Entry_da588e9e3561e911afb900155d0c3815</d:element>
</d:Custom_x005f_90eaefb93561e911afb900155d0c3815>
/m:properties>
</content>
但是,当您尝试使用与OData源提要相同的REST URI时,会出现以下错误:
DataSource.Error:我们无法解析OData响应结果。错误:A 找不到类型名称的值,并且没有预期的类型可用。 指定模型后,有效载荷中的每个值都必须有一个 可以在有效负载中指定的类型,由 调用者或从父值隐式推断。
注意
<d:element>Entry_da588e9e3561e911afb900155d0c3815</d:element>
标签没有“ m:type”属性;我认为这使PowerBI感到困惑。
我该如何解决?如果我可以将元素值检索到PowerBI中,则可以将条目ID与查找表相关联,以获取正确的自定义任务字段值。