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

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

ループから非ループエレメントに値を集計します。

始める前に

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

このタスクについて

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

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

手順

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

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

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