banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Wed 29 June 2016 14:16

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Aggrégation de valeurs uniques

Bonjour @tous.

Je cherche à agréger des données selon un identifiant commun, en ne conservant que les valeurs uniques pour les autres champs, je m'explique :

Donnée source :

Col1     Col2     Col3
10        A         50
10        B         50
10        A         50

Données arrivée :

Col1     Col2     Col3
10        A,B      50

Avec Aggregator, ça fonctionne mais le problème c'est qu'il me met toutes les valeurs du genre :

Col1     Col2     Col3
10        A,B,A   50,50,50

Avez-vous une idée ?

Geo-x

Hors ligne

 

#2 Wed 29 June 2016 15:17

pierreb
Participant actif
Lieu: La Rochelle
Date d'inscription: 3 Oct 2011
Messages: 73

Re: Aggrégation de valeurs uniques

Avec un ListDuplicateRemover suivi d'un ListConcatenator, cela devrait le faire je pense smile

Hors ligne

 

#3 Wed 29 June 2016 15:22

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Aggrégation de valeurs uniques

En effet, c'est parfait !

Merci.

Geo-x

Hors ligne

 

#4 Thu 30 June 2016 08:16

MagBar
Participant assidu
Date d'inscription: 27 Jun 2012
Messages: 203

Re: Aggrégation de valeurs uniques

Il faut utiliser 2 aggregator consécutifs :
- Le premier permets de garder les valeurs unique (les attributs de regroupement sont plus nombreux, dans cet exemple ce sont les col1, col2, col3)
- Le second pourra concaténer les valeurs ainsi obtenu (pas d'attributs de regroupement dans l'exemple et concaténation des valeurs col1, col2, col3)

Tu devrais trouver le résultats attendu.

Hors ligne

 

#5 Mon 15 April 2024 17:29

oligator6200
Participant occasionnel
Date d'inscription: 10 May 2019
Messages: 32

Re: Aggrégation de valeurs uniques

Bonjour à tous,

Je me permets de relancer ce sujet car après maintes résultats avec les fonctions d'agrégats, array, concat, valeurs uniques etc.. je ne parviens pas à obtenir le résultat escompté.

Le problème est le suivant : Je dispose d'une couche de végétation qui comprend 530 polygones avec pour chacun jusqu'à 3 végétations renseignées (végétation 1, 2 et 3) et donc 3 surfaces calculées ( surf_1, surf_2,surf_3, la Surface totale du polygone correspondant à la somme de ces 3 surfaces) sachant que si certains polygones sont composés à 100 % de la végétation 1 donc les végétations et surface 2 et 3 sont NULL. De plus, certaines végétations correspondent à des habitats particuliers avec un code normé (ex 7120, 6430 etc..) dispersé également dans 3 champs différents (CH1, CH2, CH3).

Ainsi comment faire pour regrouper les végétations dans un même champs suivant toutes les valeurs possibles, et avec la somme des surfaces associées tout en conserver un champs permettant de discriminer les végétations par valeurs d'habitat particulier ?

N'hésitez pas à me dire si rien n'est clair et qu'il faut que je précise mes propos.

Merci d'avance pour votre aide.

Bonne journée !

Hors ligne

 

Pied de page des forums

Powered by FluxBB