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 |