Power BI如何获取任务的Project Online企业自定义字段值?

时间:2019-04-30 16:13:03

标签: odata powerbi powerbi-datasource project-online ms-project-server-2016

您可以使用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与查找表相关联,以获取正确的自定义任务字段值。

0 个答案:

没有答案