AggregateOn
AggregateOn 要素は、グループ化された FindItem 結果セットのグループ化された項目の順序を決定するために使用されるプロパティを表します。
<AggregateOn>
<FieldURI/>
</AggregateOn>
<AggregateOn>
<IndexedFieldURI/>
</AggregateOn>
<AggregateOn>
<ExtendedFieldURI/>
</AggregateOn>
AggregateOnType
属性と要素
以下のセクションで、属性、子要素、親要素について説明します。
属性
属性 | 説明 |
---|---|
Aggregate |
項目のグループの順序付けに使用される FieldURI 要素によって識別されるプロパティの最大値または最小値を示します。 指定可能な値は次のいずれかです。 -最小 -最大 |
子要素
Element | 説明 |
---|---|
FieldURI |
URI によって頻繁に参照されるプロパティを識別します。 |
IndexedFieldURI |
ディクショナリの個々のメンバーを識別します。 |
ExtendedFieldURI |
取得、設定、または作成する拡張 MAPI プロパティを識別します。 |
親要素
要素 | 説明 |
---|---|
GroupBy |
FindItem クエリの任意のグループ化を指定します。 この要素の XPath 式を次に示します。 /FindItem/GroupBy |
注釈
FindItem 操作は、グループ化された結果を返すことができます。 グループ化された結果内で、特定のグループ化プロパティに同じ値を持つすべての項目が一緒に収集され、そのグループの子として表示されます。 たとえば、送信者別にグループ化した場合、すべての電子メールは、送信者 A、送信者 B などから送信されているかどうかに基づいて、個別のグループに編成されます。 これらのグループは、送信者グループの子です。
送信者グループ内の各グループには、各送信者から送信された実際の電子メールなど、アイテムのコレクションが含まれています。 SortOrder 要素を使用して、グループ内の項目を並べ替えることができます。 ただし、項目のプロパティ値に基づいてグループを並べ替えるには、集計を使用する必要があります。
集計では、グループの順序は、グループ内の項目の特定のプロパティに基づいています。 集計を使用してグループ内の項目を並べ替える場合は、グループを並べ替える代表的なプロパティを特定する必要があります。 AggregateOn 要素を使用して、代表的なプロパティを指定できます。
代表的なプロパティが識別されると、 Aggregate 属性を使用して、グループが識別されたプロパティの最大値または最小値に従って並べ替えられるかどうかを示します。 Aggregate 属性が Maximum に設定されている場合、グループは AggregateOn プロパティの最大値で始まって並べ替えられます。 Aggregate 属性が Minimum に設定されている場合、グループは AggregateOn プロパティの最小値で始まって並べ替えられます。
たとえば、FindItem グループ化クエリを発行し、送信者別にグループ化する場合に、最新の電子メール メッセージを含むグループが上位になるようにグループを並べ替える場合は、送信者別にグループ化し、受信した日付/時刻を 最大の集計 属性で集計できます。
この要素を記述するスキーマは、クライアント アクセス サーバーの役割がインストールされている MicrosoftExchange Server 2007 を実行しているコンピューターの EWS 仮想ディレクトリにあります。
例
次の例は、グループ化された FindItem 要求と応答を示しています。 この例では、 ConversationTopic プロパティによってグループ化された項目を返す要求を示します。 A と B の 2 つのグループは、 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>
グループ内の項目を並べ替えるには、 SortOrder 要素を使用します。
注:
読みやすさを維持するために、項目識別子と変更キーが短縮されました。
要素の情報
要素 | 例 |
---|---|
Namespace |
http://schemas.microsoft.com/exchange/services/2006/types |
スキーマ名 |
型スキーマ |
検証ファイル |
Types.xsd |
空に設定可能 |
False |