通常、タグを使うときは、単に列に追加したいだけです。しかし、このように追加すると…
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 />