Transformation de données V2

Bonjour à tous,

Je me retrouve avec un second cas de transformation de donnée capricieux.

Voici mes données d'entrée :

MarchéDateTypeAncienne ValeurNouvelle Valeur
Lyon1980-07-10 17:36:38FRUITPomme
Lyon2002-08-01 22:17:50FRUITPommeFraise
Lyon1980-07-10 17:36:38LEGUMECourgette
Lyon2002-08-01 22:17:50LEGUMECourgetteChou
Lyon2002-08-01 22:17:50ARBRESapin
Lyon2012-10-23 17:24:56ARBRESapinSaule

Voici mes données de sortie :

SociétéDateTypeAncienne ValeurNouvelle Valeur
Lyon1980-07-10 17:36:38PrimeurPomme Courgette
Lyon2002-08-01 22:17:50PrimeurPomme CourgetteFraise Chou Sapin
Lyon2012-10-23 17:24:56PrimeurFraise Chou SapinFraise Chou Saule

Voici le traitement à effectuer :

  1. Regrouper les lignes par date, de manière croissante
  2. Pour la 1ere date :
    1. Colonne "Ancienne Valeur" : Afficher toutes les valeurs dans l'ordre des type (ici vide car pas de valeurs dans "Ancienne valeur " pour 1980). Les valeurs doivent être séparées d'un espace.
    2. Colonne "Ancienne Valeur" : Afficher toutes les valeurs dans l'ordre des type (ici "pomme courgette" par exemple). Les valeurs doivent être séparées d'un espace.
  3. Pour les dates suivantes, la colonne "Ancienne Valeur" reprend la valeur de la "nouvelle valeur" de la ligne précédente.
  4. Pour les dates suivantes, la colonne "Nouvelle Valeur" doit reprendre toutes les valeurs de la date dans l'ordre des type, et remplacer les valeur si un type plus récent est présent à cette date (Exemple en ligne 3, on passe de "Fraise Chou Sapin" à "Fraise Chou Saule" car en 2012, il y a un nouveau type d'Arbre.
  5. La colonne Type doit prendre la valeur "Primeur"

Voilà ! J'espère que j'ai été clair, j'ai malheureusement échoué à traduire ce traitement sous PQ.

N'hésitez pas si vous avez des questions, j'ai conscience que le traitement demandé et un peu tordu ahah.

Merci d'avance pour votre précieuse aide (ci-joint le fichier).

Dams

Hello,

Si on suit la logique de ton traitement :

- 1980-07-10 17:36:38 : Ancienne valeur nous n'avons rien

- 1980-07-10 17:36:38 : Nouvelle valeur on a Pomme et Courgette

- 2002-08-01 22:17:50 : Ancienne valeur on retrouve donc Pomme et Courgette

- 2002-08-01 22:17:50 : Nouvelle valeur on a Fraise Chou et Sapin

- 2012-10-23 17:24:56 : tu devrais donc avoir dans tes données 3 lignes pour cette date, or nous n'en avons qu'une... Quelle est la différence avec le cas de Pomme et Courgette juste avant ? Dans un cas j'ai bien les deux lignes mais dans le cas de sapin je n'ai qu'une ligne qui apparaît ? L'exemple du jeu de données est complet ?

@+

Hello Baroute,

Mince, j'ai pas été assez clair ahah. Les dates doivent être regroupées en une seul ligne (Ex: si j'ai 3 dates à 1980, cela devient une ligne au lieu de 3).

Comme tu peux voir dans mes données de sortie, toutes les dates sont uniques et triés par ordre croissant

Damien

Hello

Une proposition, dis moi si ça convient mais c'est très similaire à ce que j'avais déjà fait sur ton sujet précédent

@+

Ah top ! ça marche à merveille !

Un dernier tout petit point, la colonne "Nouvelle Valeur" n'est pas dans le bonne ordre en ligne 3.

image

Etant donné que "SAULE" est du même type que "Sapin", il doit prendre la même place.

Dams

Hello,

Un correctif avec tri sur les types et changement d'ordre car les éléments qui ne bougent pas n'auront pas de lignes associées donc il faut les prendre "AVANT" dans la concaténation de chaîne. C'est corrigé en théorie

@+

Excellent !

Et dernière demande (on est venu mettre à jour mes données d'entrée entre temps...)

On a juste rajouté d'autres marchés à mes données d'entrée.

MarchéDateTypeAncienne ValeurNouvelle Valeur
Lyon1980-07-10 17:36:38FRUITPomme
Lyon2002-08-01 22:17:50FRUITPommeFraise
Lyon1980-07-10 17:36:38LEGUMECourgette
Lyon2002-08-01 22:17:50LEGUMECourgetteChou
Lyon2002-08-01 22:17:50ARBRESapin
Lyon2012-10-23 17:24:56ARBRESapinSaule
Paris1980-07-10 17:36:38FRUITPomme
Paris2002-08-01 22:17:50FRUITPommeFraise
Paris1980-07-10 17:36:38LEGUMECourgette
Paris2002-08-01 22:17:50LEGUMECourgetteChou
Paris2002-08-01 22:17:50ARBRESapin
Paris2012-10-23 17:24:56ARBRESapinSaule
Marseille1980-07-10 17:36:38FRUITPomme
Marseille2002-08-01 22:17:50FRUITPommeFraise
Marseille1980-07-10 17:36:38LEGUMECourgette
Marseille2002-08-01 22:17:50LEGUMECourgetteChou
Marseille2002-08-01 22:17:50ARBRESapin
Marseille2012-10-23 17:24:56ARBRESapinSaule

Le fonctionnement reste le même, cependant, la 1ere valeur du marché de Paris ne doit pas reprendre la dernière de celle de Lyon par exemple.

Concrètement, chaque marché est à traiter de manière indépendante.

Désolé pour le rajout...

Dams

Hey,

Voici le correctif sur l'étape AddAncienneValeur

@+

Une nouvelle fois c'est au top !

Merci baroute !

Rechercher des sujets similaires à "transformation donnees"