Aller au contenu principal

Combinaisons

La méga-brick Combinaisons combine deux entrées selon un mode : empilement vertical (union) ou enrichissement par clé (lookup). Contrairement aux autres méga-bricks, elle ne porte pas une liste d'opérations : on choisit un mode par brick.

Elle remplace l'ancienne brick Union (voir Bricks héritées).

EntréesSorties
main : le flux principalout : le flux combiné
secondary : le flux secondaire (à empiler ou à consulter)
Quelle brick pour combiner ?
  • Combinaisons : empilement vertical (union) ou enrichissement clé / valeur simple (lookup, façon VLOOKUP).
  • Join : jointures SQL complètes (inner / left / right / full / cross), clés composées, cas multi-tables.

union : empiler deux flux​

Empile les lignes de secondary sous celles de main.

ParamètreTypeDéfautDescription
modestringunionDoit valoir union (mode par défaut de la brick).
columns_modestringcommoncommon : ne garde que les colonnes présentes dans les deux flux ; all : garde toutes les colonnes (valeurs manquantes sur celles absentes d'un flux).
dedupbooléenfalseSupprime les lignes en double après l'union.
remarque

En mode common, si les deux flux n'ont aucune colonne en commun, la sortie est vide (un avertissement est loggé).

Avant, main :

idnom
1Dupont

secondary :

idnompays
2MartinFR

Après (columns_mode: common) :

idnom
1Dupont
2Martin

Avec columns_mode: all, la colonne pays serait conservée (vide pour la ligne 1).

lookup : enrichir par clé​

Enrichit chaque ligne de main avec des colonnes de secondary, appariées par une clé (jointure gauche : les lignes de main sont toutes conservées).

ParamètreTypeDéfautDescription
modestring—Doit valoir lookup.
main_keystring—Colonne clé du flux principal (requis).
lookup_keystring—Colonne clé du flux secondaire (requis).
lookup_columnsliste[]Colonnes de secondary à rapporter. Vide = toutes.
default_valuestring""Valeur des colonnes rapportées quand la clé n'est pas trouvée. Vide (défaut) : les valeurs restent manquantes (NaN).

Avant, main :

commandepays_code
C1FR
C2XX

secondary :

codepays_nom
FRFrance

Après (main_key: pays_code, lookup_key: code, lookup_columns: [pays_nom], default_value: "?") :

commandepays_codepays_nom
C1FRFrance
C2XX?

La clé du secondaire est retirée de la sortie si son nom diffère de main_key ; en cas de collision de noms, les colonnes rapportées reçoivent le suffixe _lookup.

Bonnes pratiques​

  • Restreignez lookup_columns : ne rapportez que les colonnes utiles pour éviter les collisions de noms et garder un flux léger.
  • Clés uniques côté secondaire : le lookup est pensé pour un référentiel 1 pour 1 ; si la clé apparaît plusieurs fois dans secondary, les lignes de main sont dupliquées ; préférez alors Join.
  • dedup après union : si vos deux sources peuvent se recouvrir, activez dedup plutôt que d'ajouter une brick de déduplication en aval.

Voir aussi : Bricks héritées.