列切換器和嘗試功能你好,
是否可以在列切換器腳本中使用 try 函數? 我正在創建一個腳本,我在其中添加一個列切換器,將幾個選定的列添加到一個工作正常的圖表中。 但是,有時會缺少一列,這會使腳本停止。 因此,我正在嘗試對每個相關列使用 try 函數(因為我不希望列切換器中的所有列)但我無法使其工作。
dt << Column Switcher(
Try( (:RER), Throw( "RER does not exist" ) ),
Try( (:VO2), Throw( "VO2 does not exist" ) ),
Try( :Name( "Drink-[ml]" ), Throw( "Drink-[ml] does not exist" ) )
);
有可能還是有更好的方法來做到這一點?
朱莉兄弟
回复:列切換器和嘗試功能我會在消息之外使用 Try() 函數。 有條件地構建消息。 像這樣:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Fitness.jmp" );
gb = dt << Graph Builder(
Size( 532, 456 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :Age ), Y( :Oxy ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);
alt cols = List();
Try(
Insert Into( alt cols, Column( dt, "Age" ) )
);
Try(
Insert Into( alt cols, Column( dt, "Weight" ) )
);
Try(
Insert Into( alt cols, Column( dt, "Runtime" ) )
);
col switcher expr = Expr( Column Switcher( :age ) );
Insert Into( col switcher expr, alt cols );
Eval(
Insert(
Expr( Send( gb ) ),
Name Expr( col switcher expr )
)
);
回复:列切換器和嘗試功能這是我會怎麼做
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
// set desired list of columns to be in column switcher
desiredColList = {"Height", "Weight", "Zippy"};
// remove from list, columns that are not available
For( i = N Items( desiredColList ), i >= 1, i--,
If( Try( Column( dt, desiredColList[i] ) << get name, "" ) == "",
Remove From( desiredColList, i, 1 )
)
);
// If columns are available, run the platform
If( N Items( desiredColList ) > 0,
ow = oneway( x( :age ), y( :height ) );
ow << Column Switcher( :height, desiredColList );
);