Voici un exemple de tableau de données avec la 4ème colonne "Colonne de formule souhaitée" montrant le résultat que j'essaie d'obtenir.
| Groupe | Numéro d'échantillon | Valeur des données | Colonne de formule souhaitée |
UN | 1 | 22.1 | 200 |
| UN | 2 | 104.2 | 200 |
| UN | 3 | 200 | 200 |
| B | 1 | 18.6 | 199,5 |
| B | 2 | 95,4 | 199,5 |
| B | 3 | 105,8 | 199,5 |
| B | 4 | 170 | 199,5 |
| B | 5 | 199,5 | 199,5 |
| C | 1 | 40 | 100 |
| C | 2 | 60 | 100 |
| C | 3 | 80 | 100 |
| C | 4 | 100 | 100 |
Je recherche une formule de colonne qui entrera la valeur de la valeur de données pour le dernier point temporel de chaque groupe.
Merci d'avance!
Juliette
Pardon. Je supprime mon commentaire car j'avais mal lu le problème. La solution acceptée est définitivement la voie à suivre.
Si les données augmentent toujours avec l'échantillon, cela est assez simple en utilisant la fonction Col Max.Si l'échantillon le plus élevé n'a pas toujours la valeur de données la plus élevée, c'est un peu plus complexe. Voir une approche possible ci-dessous, notez que cela sera lent pour les grandes tables :
New Column( "If Data always Increases with Sample Number",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Col Max( :Data Value, :Group ) ),
Set Display Width( 171 )
);
New Column( "If Data not related to Sample Number",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
MaxSample = Col Max( :Sample Number, :Group );
g = Associative Array( Loc( :Group << Get Values(), :Group ) );
s = Associative Array( Loc( :Sample Number << Get Values(), MaxSample ) );
union = g;
union << intersect( s );
r = Max( union << get keys );
:Data Value[r];
),
Set Display Width( 136 )
);