---
schema_version: "1"
id: b0bbc91ce053df47fe6d03dbfb6b03f9b02eae02e9d1842a5b0def89b14d2dda
title: 上位要素の取得
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/dataweave/2.3/dataweave-cookbook-pick-top-elements.md
canonical_url: https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-cookbook-pick-top-elements
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 54b7a94a88a2ffc2687678bb3b5fd66b2d5a8ae95072f955a05a6089c53927f1
description: MuleSoft Documentation Site
release: "2.3"
latest: false
---
# 上位要素の取得

この DataWeave の例では、テストのスコアで候補者の配列を並び替え、募集職種が埋まるまで最もスコアの高い候補者のみを選択します。 開始する前に、DataWeave バージョン 2 (​`%dw 2.0`​) は Mule 4 アプリケーションを対象とすることに注意してください。Mule 3 アプリケーションの場合、Mule 3.9 ドキュメントセットの DataWeave バージョン 1 (​[`%dw 1.0`](#3.9@mule-runtime::dataweave-examples.adoc)​) の例を参照してください。他の Mule バージョンの場合は、目次の Mule Runtime バージョンセレクターを使用できます。

この例では、以下を使用します。

- 入力の各候補者を調べる ​`map`​。
- スコアに応じて一連の候補者を並び替える ​`orderBy`​。
- 候補者の全配列の一部のみを選択する ​`[n to n]`​。配列は昇順に並んでいるため、上位の候補者は配列の最後に配置されます。そのため、負のインデックスを使用する必要があります。この入力では、-3 から -1 が選択されます。-1 は配列の最後のインデックスです。

DataWeave スクリプト:

```dataweave
%dw 2.0
output application/json
---
{
    TopCandidateList: (payload.candidates map ((candidate) -> {
        firstName: candidate.name,
        rank: candidate.score
    }) orderBy $.rank) [ -payload.availablePositions to -1]
}
```

入力 JSON ペイロード:

```json
{
 "availablePositions": 3,
 "candidates":
    [
      {
        "name":"Gunther Govan",
        "score":99
      },
       {
        "name":"Michael Patrick",
        "score":35
      },
      {
        "name":"Amalia Silva",
        "score":96
      },
       {
        "name":"Tom Mathews",
        "score":40
      },
      {
        "name":"Simon Wilson",
        "score":84
      },
      {
        "name":"Janet Nguyen",
        "score":52
      }
    ]
}
```

出力 JSON:

```json
{
  "TopCandidateList": [
    {
      "firstName": "Simon Wilson",
      "rank": 84
    },
    {
      "firstName": "Amalia Silva",
      "rank": 96
    },
    {
      "firstName": "Gunther Govan",
      "rank": 99
    }
  ]
}
```

## [](#関連する例)関連する例

- [自己終了 XML タグの出力](https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-cookbook-output-self-closing-xml-tags)
- [指定した XML 属性の削除](https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-cookbook-remove-certain-xml-attributes)

## [](#関連情報)関連情報

- [DataWeave セレクター](https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-selectors)
- [DataWeave の解説書](https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-cookbook)