UNION

Cet article a été traduit de l'anglais par IA et peut contenir des erreurs. Vos commentaires nous aideront à l'améliorer.

Description

La fonction UNION calcule un nouveau tableau qui contient toutes les lignes de chacune des deux ou plusieurs expressions de tableau.

Utilisation

UNION(<Expression de Tableau>, <Expression de Tableau2>, <Expression de Tableau3>)

La fonction UNION calcule un nouveau tableau qui contient toutes les lignes de chacune des deux expressions de tableau.

  • Chaque tableau doit avoir le même nombre de colonnes.
  • Les colonnes sont combinées par position dans leurs tableaux respectifs.
  • Les noms des colonnes dans le tableau de retour correspondront aux noms des colonnes du premier argument de tableau.
  • Les lignes en double sont conservées.
  • Le tableau retourné a un lignage lorsque c'est possible. Par exemple, si la première colonne de chaque table_expression a un lignage vers la même colonne de base C1 dans le modèle, la première colonne du résultat de
    UNION aura un lignage vers C1. Cependant, si les colonnes combinées ont un lignage vers différentes colonnes de base, ou s'il
    y a une colonne d'extension, la colonne résultante dans UNION n'aura pas de lignage.
  • Lorsque les types de données diffèrent, le type de données résultant est déterminé sur la base des règles de coercition des types de données.
  • Le tableau retourné ne contiendra pas de colonnes provenant de tableaux liés.

Exemples

Compter les bénéficiaires uniques à travers de multiples activités

La fonction UNION est utile pour combiner des informations similaires stockées dans de multiples formulaires. Par exemple, si vous gérez un programme qui fournit des formations et des prêts au même groupe de personnes, vous pourriez être intéressé de savoir combien d'individus uniques vous avez soutenus chaque trimestre.

Si les détails sur la formation et les prêts sont stockés dans des formulaires différents, vous aurez besoin de la fonction UNION pour d'abord combiner la liste des bénéficiaires, puis trouver le nombre de bénéficiaires distincts.

Schéma de la base de données contenant les formulaires formations, participants, prêts et bénéficiaires
Schéma de la base de données contenant les formulaires formations, participants, prêts et bénéficiaires

Ensuite, vous devez combiner la date et l'ID du bénéficiaire des deux formulaires en utilisant UNION. Par exemple :

UNION(
	SELECTCOLUMNS(participants, 
      "date", @parent.date, 
      "beneficiary", participant),
    SELECTCOLUMNS(loans,
	  "date", disbursement_date,
	  "beneficiary", recipient)) |>
COUNTDISTINCTX(beneficiary)

Dans l'exemple ci-dessus, nous devons d'abord remodeler les deux formulaires, Participants et Prêts, afin qu'ils aient les mêmes champs dans le même ordre. Pour les participants à la formation, la date pertinente provient en fait du formulaire parent et est associée à la formation. Pour les Prêts, nous choisissons d'utiliser la date de décaissement.

La fonction UNION nous donne alors une seule grande liste d'ID de bénéficiaires et la fonction COUNTDISTINCTX compte le nombre d'ID de bénéficiaires uniques.

Élément suivant
Comment faire