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

Guide de référence des fonctions de Talend Data Mapper

Version
7.3
Language
Français
Product
Talend Big Data Platform
Talend Data Fabric
Talend Data Management Platform
Talend Data Services Platform
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Studio Talend
Content
Création et développement > Création de Jobs
Last publication date
2023-01-09
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>