Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour à tous,
J'ai une source qvd de données dont j'extrais un tableau comme ci-dessous :
REF | CLASSEMENT | MESURE | MOIS | ANNEE |
1 | A | 10 | 1 | 2024 |
1 | B | 20 | 2 | 2024 |
2 | A | 10 | 1 | 2024 |
2 | A | 10 | 2 | 2024 |
3 | B | 20 | 1 | 2024 |
3 | B | 25 | 2 | 2024 |
4 | B | 15 | 1 | 2024 |
4 | A | 10 | 2 | 2024 |
Je souhaite récupérer le champ "CLASSEMENT" dans d'autres tableaux et remplacer, y compris dans le tableau ci-dessus, les valeurs les plus anciennes par celles plus récente quand elles ne sont pas identiques.
Par exemple, la REF 1 avait pour classement A en janvier 2024 mais est classée en B en février 2024.
Je veux donc que la REF 1 n'ait plus qu'un seul classement qui serait B.
Il faudrait donc charger une table avec les champs REF et CLASSEMENT mais ajouter une condition dans le script de chargement en fonction de la date ou plutôt du mois et de l'année dans mon exemple de tableau.
Evidemment, toutes les REF n'ont pas forcément une MESURE tous les mois et ne changent pas forcément de CLASSEMENT le même mois.
Avez-vous des idées ?
Je vous en remercie par avance.
Bonjour
peut etre en utilisant cette mesure en remplacement de la colonne CLASSEMENT :
aggr( nodistinct aggr(FirstSortedValue( CLASSEMENT,-MOIS),REF),REF)
Cdt
Merci. J'ai trouvé la solution en repartant de la première formule et en ajoutant une fonction date :
aggr( nodistinct aggr(FirstSortedValue( CLASSEMENT,-date('01/'&num(MOIS)&'/'&ANNEE,'DDMMYYYY')),REF),REF)
En tout cas, ça semble sortir ce que je voulais...
Bonjour
peut etre en utilisant cette mesure en remplacement de la colonne CLASSEMENT :
aggr( nodistinct aggr(FirstSortedValue( CLASSEMENT,-MOIS),REF),REF)
Cdt
Bonjour, cela se rapproche un peu de mon besoin mais ne fonctionne pas encore parfaitement car il manque la notion d'année. J'ai donc essayé :
aggr( nodistinct aggr(FirstSortedValue( CLASSEMENT,-MOIS-ANNEE),REF),REF) et aggr( nodistinct aggr(FirstSortedValue( CLASSEMENT,-ANNEE-MOIS),REF),REF) mais ça ne fonctionne pas. Enfin, le classement n'est pas dans l'ordre que je souhaite...
Bonjour
Peut être çà
aggr( nodistinct aggr(FirstSortedValue( CLASSEMENT,-MOIS),REF,ANNEE),REF,ANNEE)
Lorsque j'utilise cette formule, j'ai bien le classement par mois mais pour chaque année. C'est-à-dire que j'ai bien le classement du mois le plus grand mais avec une valeur différente pour 2022/2023/2024.
La formule est presque bonne mais peut-être qui faut créer une date à partir du mois et de l'année genre "01/MOIS/ANNEE" et l'utiliser dans FirstSortedValue( CLASSEMENT,-"01/MOIS/ANNEE").
J'avoue ne pas avoir bien compris le - avant MOIS dans la fonction, c'est pour faire décroissant ?
Merci. J'ai trouvé la solution en repartant de la première formule et en ajoutant une fonction date :
aggr( nodistinct aggr(FirstSortedValue( CLASSEMENT,-date('01/'&num(MOIS)&'/'&ANNEE,'DDMMYYYY')),REF),REF)
En tout cas, ça semble sortir ce que je voulais...
Bien vue 🙂
et oui le - dans firstsortedvalue c'est pour inverser l'ordre et donc avoir la dernière