Come utilizzare la formula riga per riga per trovare la variazione dinamica del numero totale di colonne.Come utilizzare la formula riga per riga per trovare la variazione dinamica del numero totale di colonne.
Come impostazione:
Il numero a è il numero di posizioni iniziali della colonna che devono essere sommate
Il numero b è il numero totale di colonne che devono essere sommate
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;
Ad esempio:
A = 6;
B = 4;
Trova la somma delle colonne 6, 7, 8 e 9 nella nuova colonna "testo" (a partire dalla colonna a, colonna totale b).
Grazie!

Ri: Come utilizzare la formula riga per riga per trovare la variazione dinamica del numero totale di colonne.
a=6;b=4;
dt = Current Data Table();
dt<<NEW column=""></NEW>
Sembra che sarà nella forma della forza bruta di un anello linea per linea, giusto?
Ri: Come utilizzare la formula riga per riga per trovare la variazione dinamica del numero totale di colonne.Questa situazione è strana. Questo script crea la formula:
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 )
)
);
Ma non valuta. Tuttavia funziona se esaminerò l'anteprima nell'editor delle formule.

Comunque, perché usare una formula quando non vuoi?
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 );
Ri: Come utilizzare la formula riga per riga per trovare la variazione dinamica del numero totale di colonne.Grazie a Markbailey!
https://community.jmp.com/t5/Discussions/How-to-SUM-rows-with-variable-column-names/mp/9817
Vedendo questo post, ho anche provato questo metodo, ma per determinare il numero di colonne in formato testo.
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 ) );