如何使用公式逐行查找總列數的動態變化。如何使用公式逐行查找總列數的動態變化。
比如設置:
數字a是需要求和的起始列位置的數量
數字 b 是需要求和的總列數
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;
例如:
一 = 6;
B = 4;
在新的“文本”列中找到第 6、7、8 和 9 列的總和(從 a 列開始,總計 b 列)。
謝謝!

Re: 如何使用公式逐行查找總列數的動態變化。感謝馬克貝利!
https://community.jmp.com/t5/Discussions/How-to-SUM-rows-with-variable-column-names/mp/9817
看到這個帖子,我也試過這個方法,但是要確定文本格式的列數。
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: 如何使用公式逐行查找總列數的動態變化。這種情況很奇怪。 此腳本構建公式:
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 )
)
);
但它不評價。 然而,如果我在公式編輯器中檢查預覽,它就會起作用。

不管怎樣,當你不想的時候為什麼要使用公式呢?
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: 如何使用公式逐行查找總列數的動態變化。
a=6;b=4;
dt = Current Data Table();
dt<<NEW column=""></NEW>
看起來它將採用逐行循環的蠻力形式,對嗎?