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

ループを非ループエレメントにマッピング

ループから非ループエレメントに値を集約させます。

始める前に

入力ストラクチャーと出力ストラクチャーを持つマップを作成済みであること。この例では、ネスト化されたループをマッピングのマッピングと同じマップを使っています。

このタスクについて

この例では、各Itemsループにある出力PartNumエレメントの数を返すよう出力TotalItemsエレメントを、そして出力Numエレメントの数を返すよう出力TotalNoticesエレメントをそれぞれ設定したいとします。

このマップは、[Other Projects] (他のプロジェクト) > [Examples] (例) > [Maps] (マップ) > [Looping] (ルーピング) > [LoopAggregate]にあります。

手順

  1. オプション: 前の例で作成したマップを使用している場合は、入力PartNumberエレメントを出力PartNumにドラッグします。
    マップは次のようになります。
  2. AgCountファンクションをドラッグして出力TotalItemsエレメントにドロップします。
  3. 出力PartNumAgCountにドラッグします。
    集約のコンテキストを提供するためにはループ式が必要です。この場合はLoopCopyファンクションが自動的に追加され、このエレメントがPartNumエレメントと同じルーピングを使用する必要があることが示されます。
  4. AgCountファンクションをドラッグして出力TotalNoticesエレメントにドロップします。
  5. 出力NumAgCountにドラッグします。
    LoopCopyファンクションが自動的に追加されます。

タスクの結果

ループが集約されます。サンプル入力ファイルに基づいて出力を確認する場合は、[Test Run] (テスト実行)ボタンを使います。この例での出力は次のようになります。
<Notices>
  <Notice>
    <Num>1</Num>
    <Name>Francis Upton</Name>
    <Items>
      <PartNum>1A45</PartNum>
    </Items>
    <Items>
      <PartNum>2</PartNum>
    </Items>
    <TotalItems>2</TotalItems>
  </Notice>
  <Notice>
    <Num>2</Num>
    <Name>Francis Upton</Name>
    <Items>
      <PartNum>5TTT9</PartNum>
    </Items>
    <Items>
      <PartNum>123</PartNum>
    </Items>
    <TotalItems>2</TotalItems>
  </Notice>
  <Notice>
    <Num>2</Num>
    <Name>Martha Lyman</Name>
    <Items>
      <PartNum>K4223</PartNum>
    </Items>
    <Items>
      <PartNum>K4552</PartNum>
    </Items>
    <TotalItems>2</TotalItems>
  </Notice>
  <TotalNotices>3</TotalNotices>
</Notices>

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

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