Comment utiliser la formule ligne par ligne pour trouver le changement dynamique du nombre total de colonnes.Comment utiliser la formule ligne par ligne pour trouver le changement dynamique du nombre total de colonnes.
Tels que le réglage :
Le nombre a est le nombre de positions de colonne de départ qui doivent être additionnées
Le nombre b est le nombre total de colonnes qui doivent être additionnées
dt = Open( "$SAMPLE_DATA/Diabetes.jmp" );
dt << New Column( "test", formula( As Column( 6 ) + As Column( 7 ) + As Column( 8 ) + As Column( 9 ) ) );
dt << run formulas;
Column( "test" ) << deleteFormula;
Tel que:
A = 6 ;
B = 4 ;
Trouvez la somme des colonnes 6, 7, 8 et 9 dans la nouvelle colonne "texte" (en commençant par la colonne a, total colonne b).
Merci!

Re : Comment utiliser la formule ligne par ligne pour trouver le changement dynamique du nombre total de colonnes.Merci Mark Bailey !
https://community.jmp.com/t5/Discussions/How-to-SUM-rows-with-variable-column-names/mp/9817
En voyant ce post, j'ai aussi essayé cette méthode, mais pour déterminer le nombre de colonnes au format texte.
dt = Open( "$SAMPLE_DATA/Diabetes.jmp" );
a = 4;//has 2 text format columns.
b = 4;
m = (dt << get as matrix)[0, Index( a, a + b - 1 )];
s = (V Sum( m` ))`;
dt << New Column( "test", Numeric, Continuous, Values( s ) );
Re : Comment utiliser la formule ligne par ligne pour trouver le changement dynamique du nombre total de colonnes.Cette situation est bizarre. Ce script construit la formule :
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Diabetes.jmp" );
col = dt << New Column( "test" );
lo = 6;
hi = 9;
f = Expr( Add() );
For( c = lo, c <= hi, c++,
r = (dt << Get Column Reference( Eval List( { Column( dt, c ) << Get Name } ) ))[1];
Insert Into( f, r );
);
Eval(
Substitute(
Expr( col << Set Formula( fff ) ),
Expr( fff ),
Name Expr( f )
)
);
Mais ça n'évalue pas. Pourtant, cela fonctionne si j'examine l'aperçu dans l'éditeur de formules.

Quoi qu'il en soit, pourquoi utiliser une formule si vous ne le souhaitez pas ?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Diabetes.jmp" );
col = dt << New Column( "test" );
lo = 6;
hi = 9;
sum = J( N Row( dt ), 1, 0 );
For( c = lo, c <= hi, c++,
sum += Column( dt, c ) << Get As Matrix;
);
col << Set Values( sum );
Re : Comment utiliser la formule ligne par ligne pour trouver le changement dynamique du nombre total de colonnes.
a=6;b=4;
dt = Current Data Table();
dt<<NEW column=""></NEW>
On dirait que ça va être sous la forme de force brute d'une boucle ligne par ligne, non ?