0

나는 내 SharePoint 목록에 SSRS 2008 가리키는 데이터 소스를하고 난, CAML 쿼리를 사용하여 SharePoint 2010의 목록에서 일정에서 별개의 항목으로 반복 이벤트 얻으려고SSRS 2008 데이터 소스로 CAML을 사용하여 Sharepoint 2010 목록에서 별도의 항목으로 되풀이 이벤트를 얻는 방법?

예 :

이벤트 1 : 2017년 1월 1일 15시 재발 매일 이벤트 2 : 예상 2017년 2월 1일 17시 없음 재발

:

(3 행)

1 | 이벤트 1 01/01/2017 15:00

2 | 이벤트 1 02/01/2017 15:00

3 | 이벤트 2 2011 년 2 월 1 일 17:00

실제 결과 :

1 | 이벤트 1 01/01/2017 15:00

2 | 이벤트 2 2017년 2월 1일 17시

CAML 쿼리 :

<RSSharePointList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <ListName>Calendario</ListName> 
    <ViewFields>  
     <FieldRef Name="EventDate" /> 
     <FieldRef Name="EndDate" /> 
     <FieldRef Name="Department" /> 
     <FieldRef Name="ParticipantsPicker" /> 
     <FieldRef Name="Facilities" /> 
     <FieldRef Name="Category" /> 
     <FieldRef Name="Title" /> 
     <FieldRef Name="Description" /> 
     <FieldRef Name="RecurrenceData" /> 
     <FieldRef Name="fRecurrence" /> 
    </ViewFields> 
    <Query> 
     <QueryOptions> 
     <ExpandRecurrence>TRUE</ExpandRecurrence> 
    </QueryOptions> 
    <Where> 
     <IsNotNull> 
       <FieldRef Name="Facilities" /> 
      </IsNotNull> 
         <DateRangesOverlap> 
            <FieldRef Name='EventDate' /> 
            <FieldRef Name='EndDate' /> 
            <FieldRef Name='RecurrenceID' /> 
          <Value Type='DateTime' IncludeTimeValue="FALSE"><Month /></Value> 
          </DateRangesOverlap> 
     </Where> 
     <OrderBy> 
     <FieldRef Name='EventDate' Ascending='True' /> 
     </OrderBy> 
    </Query> 
</RSSharePointList> 

답변

0

귀하의 CAML가 오작동을 형성한다; <QueryOptions> 요소는 자식이 아닌 <Query> 요소의 형제입니다. 이 수정 된 CAML로 다시 시도하십시오.

<Query> 
    <Where> 
     <IsNotNull> 
      <FieldRef Name="Facilities" /> 
     </IsNotNull> 
     <DateRangesOverlap> 
      <FieldRef Name='EventDate' /> 
      <FieldRef Name='EndDate' /> 
      <FieldRef Name='RecurrenceID' /> 
      <Value Type='DateTime' IncludeTimeValue="FALSE"> 
       <Month /> 
      </Value> 
     </DateRangesOverlap> 
    </Where> 
    <OrderBy> 
     <FieldRef Name='EventDate' Ascending='True' /> 
    </OrderBy> 
</Query> 
<QueryOptions> 
    <ExpandRecurrence>TRUE</ExpandRecurrence> 
</QueryOptions>