2014-02-20 9 views
2

OData WCF 데이터 서비스가 있고 리플렉션 공급자를 사용하여 데이터를 노출합니다. - {UpdateTime}
OData WCF 데이터 서비스를 Excel에서 소스로 사용

{환경}
- 이름
-Id
설명 -
: 현재 나는 다음과 같은 구조를 가지고 환경, 말의 수집, 노출 - 시작 시간
- 종료 시간

, 여기서 {UpdateTime} - ComplexType은 환경이 업데이트되고 여기에서 관계가 1 : N 인 시간의 모음입니다.

저는 Excel을 사용하여 해당 OData 서비스에서 일부 보고서를 생성하고 있습니다. 데이터를 가져온 후 UpdateTime 컬렉션이 테이블에 표시되지 않습니다. Environment 콜렉션에서 $ expand를 시도했지만 나에게도 효과가 없다. 내가 생각하는 유일한 방법은 관련 컬렉션을 엔티티 유형으로 공개하고 관계를 설정하는 것이지만 {UpdateTime} 컬렉션은 자신 만의 컬렉션이 아닙니다.

질문 : Excel에서 ComplexTypes를 표시 할 수있는 방법이 있습니까?

감사합니다.

답변

4

OData 서비스에서 데이터를 가져 오는 데 어떤 기능을 사용하고 있는지 잘 모르겠습니다. 그러나 저는 Power Query for Excel을 사용하지 않고있는 것 같습니다. 확장 요구 사항을 포함하는 데이터를 가져 오기 위해 많이 사용했기 때문입니다.

Power Query for Excel은 Microsoft에서 공식적으로 작성한 Excel의 확장 프로그램이며 http://www.microsoft.com/en-in/download/details.aspx?id=39379에서 다운로드 할 수 있습니다. 기본적으로 Excel과 함께 설치된 "데이터"탭보다 강력합니다. 데이터 세트의 모양과 병합을 많이 할 수 있습니다.

설치 한 후에는 Excel에 새 탭으로 표시되며 OData 피드에서 데이터를 쉽게 가져올 수 있고 Power Query 쿼리 편집기에서 컬렉션이 포함 된 복합 유형을 확장 할 수 있습니다.

미안 이미지를 첨부 할만한 평판이 부족합니다. 그러나이 페이지로 이동하여 예제로 볼 수 있습니다. http://office.microsoft.com/en-in/excel-help/expand-a-column-containing-a-related-table-HA103993865.aspx

+1

이순신 땡, 고마워요! 이것은 내가 찾고 있었던 바로 그 것이다. – Marcello

1

Excel은 내가 아는 한 복잡한 값을 가져올 수 있어야합니다. 여기에 내가했던 일이야 : Excel에서

  1. 는 데이터 피드의 위치는
  2. 피드 중 하나로, OData 데이터에서> 기타가 원본에서> 데이터 -로 이동, 나는 http://services.odata.org/v3/odata/odata.svc/Suppliers, 시험 서비스에 들어갔다. 각 공급 업체는 주소라는 복잡한 유형이 있습니다.

Excel에서 모든 주소 항목이 정상적으로 나타납니다.

그래서 서비스에 문제가 있거나 Excel에 제공하는 URL에 문제가있는 것 같습니다. 브라우저에서 피드를 요청하면 복잡한 값이 올바르게 표시됩니까?

+0

Hello Jen, 그냥 복잡한 형식이 제대로 작동하지만 복잡한 형식의 컬렉션을 언급했습니다. – Marcello