AggregateOn

Das AggregateOn-Element stellt die Eigenschaft dar, die verwendet wird, um die Reihenfolge der gruppierten Elemente für ein gruppiertes FindItem-Resultset zu bestimmen.

<AggregateOn>
   <FieldURI/>
</AggregateOn>
<AggregateOn>
   <IndexedFieldURI/>
</AggregateOn>
<AggregateOn>
   <ExtendedFieldURI/>
</AggregateOn>

AggregateOnType

Attribute und Elemente

In den folgenden Abschnitten werden Attribute, untergeordnete und übergeordnete Elemente erläutert.

Attribute

Attribut Beschreibung
Aggregate
Gibt den maximalen oder minimalen Wert der Eigenschaft an, die durch das FieldURI-Element identifiziert wird, das zum Sortieren der Elementgruppen verwendet wird.

Im Folgenden sind die möglichen Werte aufgeführt:

-Minimum
-Maximum

Untergeordnete Elemente

Element Beschreibung
FieldURI
Identifiziert Eigenschaften, auf die häufig nach URI verwiesen wird.
IndexedFieldURI
Identifiziert einzelne Elemente eines Wörterbuchs.
ExtendedFieldURI
Identifiziert erweiterte MAPI-Eigenschaften zum Abrufen, Festlegen oder Erstellen.

Übergeordnete Elemente

Element Beschreibung
GroupBy
Gibt beliebige Gruppierungen für FindItem-Abfragen an.
Für dieses Element wird folgender XPath-Ausdruck verwendet: /FindItem/GroupBy

Hinweise

Der FindItem-Vorgang kann gruppierte Ergebnisse zurückgeben. Innerhalb gruppierter Ergebnisse werden alle Elemente, die denselben Wert für eine bestimmte Gruppierungseigenschaft haben, zusammengefasst und als untergeordnete Elemente dieser Gruppe dargestellt. Wenn Sie z. B. nach Absender gruppieren, werden alle E-Mails in separaten Gruppen organisiert, je nachdem, ob sie von Absender A, Absender B usw. stammen. Diese Gruppen sind untergeordnete Elemente der Absendergruppe.

Jede der Gruppen innerhalb der Absendergruppe enthält eine Sammlung von Elementen, z. B. die tatsächlichen E-Mails, die von den einzelnen Absendern stammen. Sie können das SortOrder-Element verwenden, um die Elemente innerhalb einer Gruppe zu sortieren. Um die Gruppen basierend auf den Eigenschaftswerten eines Elements zu sortieren, müssen Sie jedoch Aggregation verwenden.

Bei der Aggregation basiert die Reihenfolge der Gruppen auf einer bestimmten Eigenschaft der Elemente innerhalb der Gruppe. Wenn Sie Aggregation verwenden, um Elemente innerhalb einer Gruppe zu sortieren, müssen Sie eine repräsentative Eigenschaft identifizieren, nach der die Gruppen sortiert werden sollen. Sie können das AggregateOn-Element verwenden, um die repräsentative Eigenschaft anzugeben.

Wenn eine repräsentative Eigenschaft identifiziert wird, wird das Aggregate-Attribut verwendet, um anzugeben, ob die Gruppen nach dem Maximum oder dem Minimalwert der identifizierten Eigenschaft sortiert sind. Wenn das Aggregate-Attribut auf Maximum festgelegt ist, werden die Gruppen beginnend mit dem größten Wert für die AggregateOn-Eigenschaft sortiert. Wenn das Aggregate-Attribut auf Minimum festgelegt ist, werden die Gruppen beginnend mit dem kleinsten Wert für die AggregateOn-Eigenschaft sortiert.

Wenn Sie z. B. eine gruppierte FindItem-Abfrage ausgeben möchten, die nach Absender gruppiert wird, aber die Gruppen so anordnen möchten, dass die Gruppe mit der neuesten E-Mail-Nachricht oben liegt, können Sie nach Absender gruppieren und das Datum/die Uhrzeit des Empfangens mit dem Aggregate-Attribut Maximum aggregieren.

Das Schema, das dieses Element beschreibt, befindet sich im virtuellen EWS-Verzeichnis des Computers, der MicrosoftExchange Server 2007 mit installierter Clientzugriff-Serverrolle ausführt.

Beispiel

Das folgende Beispiel zeigt eine gruppierte FindItem-Anforderung und -Antwort. Das Beispiel zeigt eine Anforderung zum Zurückgeben von Elementen, die nach der ConversationTopic-Eigenschaft gruppiert sind. Zwei Gruppen, A und B, werden basierend auf dem Höchstwert der DateTimeReceived-Eigenschaft in absteigender Reihenfolge zurückgegeben.

<!-- EXAMPLE REQUEST -->
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:xsd="http://www.w3.org/2001/XMLSchema"
               xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
               xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
  <soap:Body>
    <FindItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
                xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
                Traversal="Shallow">
      <ItemShape>
        <t:BaseShape>IdOnly</t:BaseShape>
        <t:AdditionalProperties>
          <t:FieldURI FieldURI="message:ConversationTopic"/>
          <t:FieldURI FieldURI="item:DateTimeReceived"/>
        </t:AdditionalProperties>    
      </ItemShape>
      <IndexedPageItemView BasePoint="Beginning" MaxEntriesReturned="20" Offset="0"/>
      <GroupBy Order="Ascending">
        <t:FieldURI FieldURI="message:ConversationTopic"/>
        <t:AggregateOn Aggregate="Maximum">
          <t:FieldURI FieldURI="item:DateTimeReceived"/>
        </t:AggregateOn>
      </GroupBy>
      <ParentFolderIds>
        <t:DistinguishedFolderId Id="inbox"/>
      </ParentFolderIds>
    </FindItem>
  </soap:Body>
</soap:Envelope>
<!-- EXAMPLE RESPONSE -->
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Header>
    <t:ServerVersionInfo MajorVersion="8" MinorVersion="0" MajorBuildNumber="652" MinorBuildNumber="0" 
                         xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <FindItemResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" 
                      xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" 
                      xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
      <m:ResponseMessages>
        <m:FindItemResponseMessage ResponseClass="Success">
          <m:ResponseCode>NoError</m:ResponseCode>
          <m:RootFolder IndexedPagingOffset="8" TotalItemsInView="8" IncludesLastItemInRange="true">
            <t:Groups>
              <t:GroupedItems>
                <t:GroupIndex>B</t:GroupIndex>
                <t:Items>
                  <t:Message>
                    <t:ItemId Id="AQAnAH=" ChangeKey="CQAAABY" />
                    <t:DateTimeReceived>2006-09-14T23:59:18Z</t:DateTimeReceived>
                    <t:ConversationTopic>B</t:ConversationTopic>
                  </t:Message>
                  <t:Message>
                    <t:ItemId Id="AQAnAHR=" ChangeKey="CQAAAw" />
                    <t:DateTimeReceived>2006-09-15T00:00:24Z</t:DateTimeReceived>
                    <t:ConversationTopic>B</t:ConversationTopic>
                  </t:Message>
                  <t:Message>
                    <t:ItemId Id="AQAnA==" ChangeKey="CQAAJXT" />
                    <t:DateTimeReceived>2006-09-15T00:22:45Z</t:DateTimeReceived>
                    <t:ConversationTopic>B</t:ConversationTopic>
                  </t:Message>
                </t:Items>
              </t:GroupedItems>
              <t:GroupedItems>
                <t:GroupIndex>A</t:GroupIndex>
                <t:Items>
                  <t:Message>
                    <t:ItemId Id="AQAnAAA==" ChangeKey="CQCJNe" />
                    <t:DateTimeReceived>2006-09-14T23:56:12Z</t:DateTimeReceived>
                    <t:ConversationTopic>A</t:ConversationTopic>
                  </t:Message>
                  <t:Message>
                    <t:ItemId Id="AQWgAA==" ChangeKey="CQAACJV6" />
                    <t:DateTimeReceived>2006-09-14T23:57:33Z</t:DateTimeReceived>
                    <t:ConversationTopic>A</t:ConversationTopic>
                  </t:Message>
                  <t:Message>
                    <t:ItemId Id="AAAA==" ChangeKey="CQA6CJXw" />
                    <t:DateTimeReceived>2006-09-15T00:23:31Z</t:DateTimeReceived>
                    <t:ConversationTopic>A</t:ConversationTopic>
                  </t:Message>
                </t:Items>
              </t:GroupedItems>
            </t:Groups>
          </m:RootFolder>
        </m:FindItemResponseMessage>
      </m:ResponseMessages>
    </FindItemResponse>
  </soap:Body>
</soap:Envelope>

Um die Elemente in einer Gruppe zu sortieren, verwenden Sie das SortOrder-Element .

Hinweis

Die Elementbezeichner und Änderungsschlüssel wurden gekürzt, um die Lesbarkeit zu erhalten.

Informationen zu Elementen

Element Beispiel
Namespace
http://schemas.microsoft.com/exchange/services/2006/types
Name des Schemas
Schematypen
Überprüfungsdatei
Types.xsd
Leer kann sein
False

Siehe auch