Partilhar via


AggregateOn

O elemento AggregateOn representa a propriedade usada para determinar a ordem dos itens agrupados para um conjunto de resultados FindItem agrupado.

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

Aggregateontype

Atributos e elementos

As seções a seguir descrevem os atributos, os elementos filhos e os elementos pai.

Atributos

Atributo Descrição
Aggregate
Indica o valor máximo ou mínimo da propriedade identificada pelo elemento FieldURI usado para ordenar os grupos de itens.

Veja a seguir os valores possíveis:

-Mínimo
-Máximo

Elementos filho

Elemento Descrição
FieldURI
Identifica propriedades referenciadas com frequência pelo URI.
IndexedFieldURI
Identifica membros individuais de um dicionário.
ExtendedFieldURI
Identifica propriedades MAPI estendidas para obter, definir ou criar.

Elementos pai

Elemento Descrição
GroupBy
Especifica agrupamentos arbitrários para consultas FindItem.
A seguir está a expressão XPath para este elemento: /FindItem/GroupBy

Comentários

A operação FindItem pode retornar resultados agrupados. Dentro dos resultados agrupados, todos os itens que têm o mesmo valor para uma determinada propriedade de agrupamento são reunidos e apresentados como filhos desse grupo. Por exemplo, se você agrupar por remetente, todos os emails serão organizados em grupos separados com base em se eles são do remetente A, do remetente B e assim por diante. Esses grupos são filhos do grupo de remetente.

Cada um dos grupos dentro do grupo de remetente contém uma coleção de itens, como os emails reais provenientes de cada remetente. Você pode usar o elemento SortOrder para classificar os itens em um grupo. Para classificar os grupos com base nos valores de propriedade de um item, no entanto, você deve usar a agregação.

Com a agregação, a ordem dos grupos é baseada em uma propriedade específica dos itens dentro do grupo. Ao usar a agregação para classificar itens em um grupo, você deve identificar uma propriedade representativa pela qual classificar os grupos. Você pode usar o elemento AggregateOn para especificar a propriedade representativa.

Quando uma propriedade representativa é identificada, o atributo Aggregate é usado para indicar se os grupos são classificados de acordo com o valor máximo ou mínimo da propriedade identificada. Se o atributo Aggregate for definido como Máximo, os grupos serão classificados começando com o maior valor para a propriedade AggregateOn . Se o atributo Aggregate for definido como Mínimo, os grupos serão classificados começando com o menor valor para a propriedade AggregateOn .

Por exemplo, se você quiser emitir uma consulta agrupada do FindItem, agrupando por remetente, mas quiser solicitar os grupos para que o grupo com a mensagem de email mais recente esteja na parte superior, você poderá agrupar por remetente e agregar na data/hora recebida com um atributo Agregado do Máximo.

O esquema que descreve este elemento está localizado no diretório virtual do EWS do computador que está executando o MicrosoftExchange Server 2007 que tem instalada a função de servidor de Acesso para Cliente.

Exemplo

O exemplo a seguir mostra uma solicitação e resposta do FindItem agrupadas. O exemplo mostra uma solicitação para retornar itens agrupados pela propriedade ConversationTopic . Dois grupos, A e B, são retornados em ordem decrescente com base no valor máximo da propriedade 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>

Para classificar os itens em um grupo, use o elemento SortOrder .

Observação

Os identificadores de item e as chaves de alteração foram encurtados para preservar a legibilidade.

Elemento de informações

Elemento Exemplo
Namespace
http://schemas.microsoft.com/exchange/services/2006/types
Nome do esquema
Esquema de tipos
Arquivo de validação
Types.xsd
Pode ser vazio
False

Confira também