メイン コンテンツをスキップする 補完的コンテンツへスキップ

DSQLマップでループを分割

複数のループを1つのループにマッピングします。

始める前に

このタスクについて

この例では、同じJSONファイル内にある別々の2つのループからデータを抽出し、出力にある1つのループにマッピングするDSQLマップを作成します。
{
    "bicycles": [
        {
            "make": "MBIKE",
            "description": "27.5 inch electric mountain bike",
            "color": "blue",
            "price": 899.99
        },
        {
            "make": "EBIKE",
            "description": "Electric hybrid bike",
            "color": "grey/green",
            "price": 999.99
        },
        {
            "make": "WBIKE",
            "description": "Women's road bike",
            "color": "white",
            "price": 299.99
        }
    ],
    "scooters": [
        {
            "make": "ESCOOT",
            "description": "Camou electric scooter",
            "color": "black",
            "price": 749
        },
        {
            "make": "EVSCOOT",
            "description": "Folding electric velocity+ scooter",
            "color": "black",
            "price": 599.99
        },
        {
            "make": "KSCOOT",
            "description": "24 volt kid scooter",
            "color": "white",
            "price": 299.99
        }
    ]
}
{
    "items": [
        {
            "make": "",
            "description": "",
            "price": ""
        }
    ]
}

手順

  1. エレメントのマッピング。
  2. 出力ストラクチャーでitemsエレメントを右クリックし、[Split] (分割)をクリックします。

    これによって同一の新しいループが作成されます。これはbicycle入力エレメントとscooters入力エレメントをマッピングするために必要です。分割後、マップ内のストラクチャーに別々のitemsループが2つ表示されても、出力には両方のループのコンテンツを持つitems配列が1つだけ含まれるようになります。

    この変更はマップにのみ適用され、ストラクチャー自体にはプロパゲートされません。新しいループを右クリックし、[Go to Structure Element] (ストラクチャーエレメントに移動)をクリックしてストラクチャーを開くと、そのストラクチャーが変化していないことがわかります。

  3. bicycles入力エレメントを最初のitemsループに、bicyclesエレメントを2番目のループにそれぞれ配置します。
    エレメントの配置。
    情報メモヒント: 必要であれば、分割済みのエレメントを右クリックして[Move Up] (上に移動)[Move Down] (下に移動)[Delete] (削除)をクリックすることで、そのエレメントを移動または削除できます。

タスクの結果

{
   "items":[
      {
         "make":"MBIKE",
         "description":"27.5 inch electric mountain bike",
         "price":"899.99"
      },
      {
         "make":"EBIKE",
         "description":"Electric hybrid bike",
         "price":"999.99"
      },
      {
         "make":"WBIKE",
         "description":"Women's road bike",
         "price":"299.99"
      },
      {
         "make":"ESCOOT",
         "description":"Camou electric scooter",
         "price":"749.0"
      },
      {
         "make":"EVSCOOT",
         "description":"Folding electric velocity+ scooter",
         "price":"599.99"
      },
      {
         "make":"KSCOOT",
         "description":"24 volt kid scooter",
         "price":"299.99"
      }
   ]
}
FROM itemsbycategory
SELECT {
   items = (
      FROM bicycles
      SELECT {
         make = make,
         description = description,
         price = price
      }
      UNION ALL
      FROM scooters
      SELECT {
         make = make,
         description = description,
         price = price
      }
   )
}

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。