Comment évaluer une colonne de bas en haut ?J'ai besoin de compter les index négatifs d'une cellule particulière, comment faire pour qu'une seule colonne soit évaluée de bas en haut ?
Col 29 Col 31
0 -5
0 -4
0 -3
0 -2
0 -1
1 -42
1 -41
1 -40
If( Lag( :Column 29, -1 ) == 1 & :Column 29 == 0,
-1,
Lag( :Column 31, -1 ) - 1
)
Automatisation et scriptsAnalyse et modélisation de données de baseRe : Comment évaluer une colonne de bas en haut ?Jarmo a une bonne solution possible pour résoudre le problème. J'ai pris une voie plus longue, qui montre une façon de travailler à rebours. L'approche fait tout le travail au moment où la formule commence le traitement en utilisant une fonction As Constant(), qui exécute le code contenu une fois. Dans cette section, elle boucle de la dernière ligne à la première ligne et crée une matrice de résultats appelée « Values ». Ensuite, dans la formule réelle, la seule chose à faire est d'appliquer la valeur de la matrice Values à chacune des lignes.
As Constant(
values = J( 1, N Rows( Current Data Table() ), . );
For( i = Length( values ) - 1, i >= 1, i--,
if(:col 29[i] == 0 & :Col 29[i + 1] == 1,
values[i]=1,
:col 29[i] == 0 & :Col 29[i + 1] == 0,
values[i] = values[i-1]-1,
values[i]=.
));
Show( values );
);
values[Row()];

Re : Comment évaluer une colonne de bas en haut ?Sur la base de vos données d'exemple, vous pourrez peut-être utiliser le groupe de votre première colonne, puis utiliser le nombre d'éléments dans ce groupe et la somme cumulée
Col Cumulative Sum(1, :Column 1) - 1 - Col Number(:Column 1, :Column 1)
