通常情況下,我使用標籤時只想將其新增至列。但是,像這樣添加標籤…
dtTag:my_column << Set Property( Tags, {"New Tag"} );
……會覆蓋列中已有的所有標籤。有沒有辦法在 JSL 中輕鬆新增標籤,同時又不刪除任何現有標籤?我可以先取得列標籤,然後修改要指派的標籤列表,但我想知道是否有更簡單的方法。
我找不到任何可以直接添加標籤的內建方法。我打算為此定義一個函數。
Names Default To Here( 1 );
add_tag = Function( {col, tag_name, this_dt = Current Data Table()},
og_tags = Column( this_dt, col ) << Get Property( "Tags" );
Column( this_dt, col ) << Set Property( "Tags", Eval( If( Is Empty( og_tags ), {}, og_tags ) || Eval List( {tag_name} ) ) );
);
//demo
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
add_tag( "name", "cheeses", dt );
Wait( 1 );
add_tag( "name", "weirdness" );
Show( dt:name << Get Property( "Tags" ) ); //dt:name << Get Property("Tags") = {"cheeses", "weirdness"};
<BR />