AggregateOn
El elemento AggregateOn representa la propiedad que se usa para determinar el orden de los elementos agrupados para un conjunto de resultados FindItem agrupado.
<AggregateOn>
<FieldURI/>
</AggregateOn>
<AggregateOn>
<IndexedFieldURI/>
</AggregateOn>
<AggregateOn>
<ExtendedFieldURI/>
</AggregateOn>
AggregateOnType
Atributos y elementos
En las siguientes secciones se describen los atributos, elementos secundarios y elementos primarios.
Atributos
Atributo | Descripción |
---|---|
Aggregate |
Indica el valor máximo o mínimo de la propiedad identificada por el elemento FieldURI que se usa para ordenar los grupos de elementos. Los valores posibles son los siguientes: -Mínimo -Máximo |
Elementos secundarios
Elemento | Descripción |
---|---|
FieldURI |
Identifica las propiedades a las que se hace referencia con frecuencia por URI. |
IndexedFieldURI |
Identifica miembros individuales de un diccionario. |
ExtendedFieldURI |
Identifica las propiedades MAPI extendidas que se van a obtener, establecer o crear. |
Elementos principales
Elemento | Descripción |
---|---|
GroupBy |
Especifica agrupaciones arbitrarias para consultas FindItem. A continuación se muestra la expresión XPath para este elemento: /FindItem/GroupBy |
Comentarios
La operación FindItem puede devolver resultados agrupados. Dentro de los resultados agrupados, todos los elementos que tienen el mismo valor para una propiedad de agrupación determinada se reúnen y se presentan como elementos secundarios de ese grupo. Por ejemplo, si agrupa por remitente, todos los correos electrónicos se organizan en grupos independientes en función de si proceden del remitente A, del remitente B, etc. Estos grupos son elementos secundarios del grupo remitente.
Cada uno de los grupos del grupo remitente contiene una colección de elementos, como los correos electrónicos reales que proceden de cada remitente. Puede usar el elemento SortOrder para ordenar los elementos de un grupo. Sin embargo, para ordenar los grupos en función de los valores de propiedad de un elemento, debe usar la agregación.
Con la agregación, el orden de los grupos se basa en una propiedad específica de los elementos del grupo. Cuando se usa la agregación para ordenar elementos dentro de un grupo, debe identificar una propiedad representativa por la que ordenar los grupos. Puede usar el elemento AggregateOn para especificar la propiedad representativa.
Cuando se identifica una propiedad representativa, el atributo Aggregate se usa para indicar si los grupos se ordenan según el valor máximo o mínimo de la propiedad identificada. Si el atributo Aggregate se establece en Maximum, los grupos se ordenan a partir del valor más grande de la propiedad AggregateOn . Si el atributo Aggregate se establece en Minimum, los grupos se ordenan a partir del valor más pequeño de la propiedad AggregateOn .
Por ejemplo, si desea emitir una consulta agrupada FindItem, agrupando por remitente, pero desea ordenar los grupos para que el grupo con el mensaje de correo electrónico más reciente esté encima, puede agrupar por remitente y agregar la fecha y hora recibida con un atributo Aggregate de Maximum.
El esquema que describe este elemento se encuentra en el directorio virtual EWS del equipo que ejecuta MicrosoftExchange Server 2007 que tiene instalado el rol de servidor acceso de cliente.
Ejemplo
En el ejemplo siguiente se muestra una solicitud y una respuesta de FindItem agrupadas. En el ejemplo se muestra una solicitud para devolver elementos agrupados por la propiedad ConversationTopic . Dos grupos, A y B, se devuelven en orden descendente en función del valor máximo de la propiedad 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 ordenar los elementos de un grupo, use el elemento SortOrder .
Nota:
Los identificadores de elemento y las claves de cambio se han acortado para conservar la legibilidad.
Información del elemento
Elemento | Ejemplo |
---|---|
Namespace |
http://schemas.microsoft.com/exchange/services/2006/types |
Nombre de esquema |
Esquema de tipos |
Archivo de validación |
Types.xsd |
Puede estar vacío |
False |