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ées | Sorties |
|---|---|
main : le flux principal | out : le flux combiné |
secondary : le flux secondaire (à empiler ou à consulter) |
- 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ètre | Type | Défaut | Description |
|---|---|---|---|
mode | string | union | Doit valoir union (mode par défaut de la brick). |
columns_mode | string | common | common : ne garde que les colonnes présentes dans les deux flux ; all : garde toutes les colonnes (valeurs manquantes sur celles absentes d'un flux). |
dedup | booléen | false | Supprime les lignes en double après l'union. |
En mode common, si les deux flux n'ont aucune colonne en commun, la sortie
est vide (un avertissement est loggé).
Avant, main :
| id | nom |
|---|---|
| 1 | Dupont |
secondary :
| id | nom | pays |
|---|---|---|
| 2 | Martin | FR |
Après (columns_mode: common) :
| id | nom |
|---|---|
| 1 | Dupont |
| 2 | Martin |
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ètre | Type | Défaut | Description |
|---|---|---|---|
mode | string | — | Doit valoir lookup. |
main_key | string | — | Colonne clé du flux principal (requis). |
lookup_key | string | — | Colonne clé du flux secondaire (requis). |
lookup_columns | liste | [] | Colonnes de secondary à rapporter. Vide = toutes. |
default_value | string | "" | Valeur des colonnes rapportées quand la clé n'est pas trouvée. Vide (défaut) : les valeurs restent manquantes (NaN). |
Avant, main :
| commande | pays_code |
|---|---|
| C1 | FR |
| C2 | XX |
secondary :
| code | pays_nom |
|---|---|
| FR | France |
Après (main_key: pays_code, lookup_key: code, lookup_columns: [pays_nom], default_value: "?") :
| commande | pays_code | pays_nom |
|---|---|---|
| C1 | FR | France |
| C2 | XX | ? |
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 demainsont dupliquées ; préférez alors Join. dedupaprès union : si vos deux sources peuvent se recouvrir, activezdedupplutôt que d'ajouter une brick de déduplication en aval.
Voir aussi : Bricks héritées.