Partager via


AggregateOn

L’élément AggregateOn représente la propriété utilisée pour déterminer l’ordre des éléments groupés pour un jeu de résultats FindItem groupé.

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

AggregateOnType

Attributs et éléments

Les sections suivantes décrivent les attributs, les éléments enfants et les éléments parents.

Attributs

Attribut Description
Aggregate
Indique la valeur maximale ou minimale de la propriété identifiée par l’élément FieldURI utilisé pour classer les groupes d’éléments.

Les valeurs possibles sont les suivantes :

-Minimum
-Maximum

Éléments enfants

Élément Description
FieldURI
Identifie les propriétés fréquemment référencées par URI.
IndexedFieldURI
Identifie les membres individuels d’un dictionnaire.
ExtendedFieldURI
Identifie les propriétés MAPI étendues à obtenir, définir ou créer.

Éléments parents

Élément Description
GroupBy
Spécifie des regroupements arbitraires pour les requêtes FindItem.
Voici l’expression XPath de cet élément : /FindItem/GroupBy

Remarques

L’opération FindItem peut retourner des résultats groupés. Dans les résultats groupés, tous les éléments qui ont la même valeur pour une propriété de regroupement donnée sont regroupés et présentés en tant qu’enfants de ce groupe. Par exemple, si vous regroupez par expéditeur, tous les e-mails sont organisés en groupes distincts selon qu’ils proviennent de l’expéditeur A, de l’expéditeur B, etc. Ces groupes sont des enfants du groupe d’expéditeurs.

Chacun des groupes au sein du groupe d’expéditeurs contient une collection d’éléments, tels que les e-mails réels provenant de chaque expéditeur. Vous pouvez utiliser l’élément SortOrder pour trier les éléments d’un groupe. Toutefois, pour trier les groupes en fonction des valeurs de propriété d’un élément, vous devez utiliser l’agrégation.

Avec l’agrégation, l’ordre des groupes est basé sur une propriété spécifique des éléments du groupe. Lorsque vous utilisez l’agrégation pour trier des éléments au sein d’un groupe, vous devez identifier une propriété représentative à l’aide de laquelle trier les groupes. Vous pouvez utiliser l’élément AggregateOn pour spécifier la propriété représentative.

Lorsqu’une propriété représentative est identifiée, l’attribut Aggregate est utilisé pour indiquer si les groupes sont triés en fonction de la valeur maximale ou minimale de la propriété identifiée. Si l’attribut Aggregate est défini sur Maximum, les groupes sont triés en commençant par la plus grande valeur pour la propriété AggregateOn . Si l’attribut Aggregate est défini sur Minimum, les groupes sont triés en commençant par la plus petite valeur de la propriété AggregateOn .

Par exemple, si vous souhaitez émettre une requête groupée FindItem, groupée par expéditeur, mais que vous souhaitez classer les groupes afin que le groupe avec le message électronique le plus récent soit en haut, vous pouvez regrouper par expéditeur et agréger la date/heure reçue avec un attribut Aggregate de Maximum.

Le schéma qui décrit cet élément se trouve dans le répertoire virtuel EWS de l'ordinateur qui exécute MicrosoftExchange Server 2007 pour lequel le rôle serveur d'accès au client est installé.

Exemple

L’exemple suivant montre une requête et une réponse FindItem groupées. L’exemple montre une demande de retour d’éléments regroupés par la propriété ConversationTopic . Deux groupes, A et B, sont retournés dans l’ordre décroissant en fonction de la valeur maximale de la propriété DateTimeReceived .

<!-- 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>

Pour trier les éléments d’un groupe, utilisez l’élément SortOrder .

Remarque

Les identificateurs d’élément et les clés de modification ont été raccourcis pour préserver la lisibilité.

Informations sur l'élément

Élément Exemple
Espace de noms
http://schemas.microsoft.com/exchange/services/2006/types
Nom du schéma
Schéma Types
Fichier de validation
Types.xsd
Peut être vide
False

Voir aussi