Accéder au contenu principal Passer au contenu complémentaire

Mapper une boucle vers un élément non itératif

Agrégez des valeurs d'une boucle vers un élément non itératif.

Avant de commencer

Vous avez créé une map avec une structure d'entrée et de sortie. Cet exemple utilise la même map que dans Mapper des boucles imbriquées.

Pourquoi et quand exécuter cette tâche

Dans cet exemple, vous souhaitez configurer l'élément de sortie TotalItems pour retourner le nombre d'éléments de sortie PartNum dans chaque boucle Items et l'élément de sortie TotalNotices pour retourner le nombre d'éléments de sortie Num.

Cette map est disponible dans Other Projects > Examples > Maps > Looping > LoopAggregate.

Procédure

  1. Facultatif : SI vous utilisez la map créée dans l'exemple précédent, glissez l'élément d'entrée PartNumber dans la sortie PartNum.
    Votre map doit ressembler à ceci :
  2. Glissez une fonction AgCount et déposez-la sur l'élément de sortie TotalItems.
  3. Glissez la sortie PartNum sur AgCount.
    Une expresion de boucle (itération) est requise pour fournir le contexte de l'agrégation. Dans ce cas, une fonction LoopCopy est automatiquement ajoutée pour indiquer que cet élément doit utiliser la même itération que l'élément PartNum.
  4. Glissez une fonction AgCount et déposez-la sur l'élément de sortie TotalNotices.
  5. Glissez la sortie Num sur AgCount.
    Une fonction LoopCopy est automatiquement ajoutée.

Résultats

Les boucles sont agrégées. Vous pouvez utiliser le bouton Test Run pour voir la sortie, basée sur le fichier échantillon d'entrée. Dans cet exemple, la sortie se présente comme suit :
<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>

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.