Unions (opérations d’ensemble)

1. Généralités

Dans chaque étape d’un DataBlock Logo GenericsData, vous pouvez appliquer une Union pour combiner deux jeux de données – qu’ils proviennent d’Entités ou d’autres DataBlocks.

Ce mécanisme permet de fusionner, croiser ou comparer des ensembles homogènes, à des fins d’analyse, de filtrage ou de restructuration du flux de données.

Exemples :

  • Fusionner un ensembleA et un ensembleB pour obtenir toutes leurs lignes.

  • Retrouver les lignes communes ou, au contraire, les lignes différentes entre deux ensembles.

Les colonnes jointes doivent partager même nombre et mêmes types (ex. impossible de fusionner une colonne text avec une colonne numérique). L’ensembleB ne peut pas avoir plus de colonnes que l’ensembleA.
La fonctionnalité permettant de retrouver les lignes différentes entre deux ensembles n’est disponible que depuis la version 8.9.0.

2. Principes

Configurer une Union revient à:

  1. Sélectionner les DataBlocks/Entités cibles

  2. Choisir le type d’opération (cf.section suivante).

  3. Vérifier la compatibilité des schémas (types & ordre des colonnes).

Les résultats sont injectés dans le DataBlock courant, colonne par colonne, dans l’ordre défini.

3. Types d’opérations

Les sous‑sections décrivent chacune des quatre opérations prises en charge, illustrées avec les deux DataBlocks d’exemple:

DataBlockA: «Patients»
No Prénom Nom Âge

001

Harry

Potter

16

002

John

Wick

42

002

John

Wick

42

003

James

Bond

45

DataBlockB: «PatientsNouveaux»
No Prénom Nom Âge

001

Harry

Potter

16

004

Emmett

Brown

63

005

Geralt

DeRiv

null

3.3. UNION (UNIONALL)

Objectif : fusionner A et B en empilant toutes les lignes, sans dé‑duplication automatique.

No Prénom Nom Âge

001

Harry

Potter

16

002

John

Wick

42

003

James

Bond

45

004

Emmett

Brown

63

005

Geralt

DeRiv

null

À savoir : équivalent SQL UNIONALL. Les doublons potentiels sont conservés.

3.4. INTERSECTION

Objectif : conserver uniquement les lignes présentes à la fois dans A et B (comparaison sur l’ensemble des colonnes).

No Prénom Nom Âge

001

Harry

Potter

16

Comportement : un seul exemplaire de chaque ligne commune est retourné (même si elle était dupliquée dans les sources).

3.5. SOUSTRACTION (EXCEPT)

Objectif : retourner les lignes du DataBlockA absentes du DataBlockB ou dont au moins une valeur diffère.

No Prénom Nom Âge

002

John

Wick

42

003

James

Bond

45

Les doublons sont supprimés dans le résultat, conformément au comportement Spark de la fonction except.

3.6. SOUSTRACTION AVEC DOUBLONS (EXCEPTALL)

Objectif : même logique que Soustraction, mais préserve le nombre exact d’occurrences restant après comparaison.

No Prénom Nom Âge

002

John

Wick

42

002

John

Wick

42

003

James

Bond

45