Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
afguillard
Contributor III
Contributor III

Fusion de deux champs

Bonjour,

Quelle est la fonction pour obtenir la concaténation suivante :

Compte clientProduitCode promo
123451246AA
123451246BB

résultat

Compte clientCode promo
12345A,B

Merci de votre aide.

Anne-Flore

1 Solution

Accepted Solutions
sfatoux72
Partner - Specialist
Partner - Specialist

Et au cas où tu as plusieurs fois le même code promo pour un même Compte Client, on peut ajouter DISTINCT pour supprimer les doublons :

Load

    [Compte client],

    Concat(DISTINCT [Code promo], ',') as [Code promo]

Resident T_Data

Where Len(Trim([Code promo])) <> 0

Group By [Compte client];

View solution in original post

7 Replies
sfatoux72
Partner - Specialist
Partner - Specialist

Bonjour Anne-Flore,

Il faut utiliser comme dimension Compte Client et comme expression la fonction d'agrégation Concat.

=Concat([Code promo], ',')

afguillard
Contributor III
Contributor III
Author

Bonjour Sébastien,

En fait, je voudrais le faire dans le script pour éviter les doublons.

sfatoux72
Partner - Specialist
Partner - Specialist

Je te laisse adapté le script à tes données, mais il suffit de faire un Group By et d'utiliser la fonction Concat :

Load

    [Compte client],

    Concat([Code promo], ',') as [Code promo]

Resident T_Data

Group By [Compte client];

afguillard
Contributor III
Contributor III
Author

Merci, ça semble fonctionner, mis à part le fait que cela s'applique à tous les champs Code promo, même les vides or parfois, je n'ai pas de code promo, et d'autres fois, j'ai un seul code promo pour un compte client, mais je ne veux en conserver qu'un seul (celui qui est rempli).

sfatoux72
Partner - Specialist
Partner - Specialist

Il suffit de supprimer les code promo vide :

Load

    [Compte client],

    Concat([Code promo], ',') as [Code promo]

Resident T_Data

Where Len(Trim([Code promo])) <> 0

Group By [Compte client];

sfatoux72
Partner - Specialist
Partner - Specialist

Et au cas où tu as plusieurs fois le même code promo pour un même Compte Client, on peut ajouter DISTINCT pour supprimer les doublons :

Load

    [Compte client],

    Concat(DISTINCT [Code promo], ',') as [Code promo]

Resident T_Data

Where Len(Trim([Code promo])) <> 0

Group By [Compte client];

afguillard
Contributor III
Contributor III
Author

Merci beaucoup ! ça fonctionne parfaitement !

Anne-Flore