すべての列関数がColumn("Name")引数を受け取れるようにして、JSLからの列数式の作成を簡素化するこのウィッシュリストのリクエストのきっかけは何だったのでしょうか?
JMPのユーザーインターフェースでは、列を選択して数式エディタを含むボックスにドラッグする操作に慣れています。バックグラウンドでは、これらの列リストボックスは列名に対応する文字列を生成しますが、ダイアログではそのように表示されず、列をドラッグして移動させています。
pauldeen_0-1789654679720.pngpauldeen_0-1789654679720.pngpauldeen_0-1789654679720.png
スクリプトでは同じ動作は機能しません。
dt = Open( "$SAMPLE_DATA/Cars.jmp" );
ColList = {};
For(i=1, i<=NCols(), i++,
If(Column(i)<
<GETDATATYPE></GETDATATYPE>
<P>この例では、Mean() 関数が処理できない無効な Column("Name") オブジェクトのリストが生成されます。そのため、スクリプト初心者にとって、列の数式を扱うことが必要以上に難しくなってしまいます。</P> <P>こちらのディスカッションをご覧ください: <A href="https://community.jmp.com/t5/Discussions/How-to-create-an-average-column-with-JSL-based-on-random-columns/m-p/968140#M110445" target="_blank">https://community.jmp.com/t5/Discussions/How-to-create-an-average-column-with-JSL-based-on-random-columns/mp/968140#M110445</A></P> <P>サポートケース番号:00345202 を参照してください。</P> <P><STRONG>どのような改善を望みますか?</STRONG></P> <P>すべての列数式関数を拡張して、型 Column("Name") のオブジェクトを受け入れ、内部的にそれを :"Name"n スタイルのインデックス可能な列型に変換します。こうすることで、技術的には異なるオブジェクトであっても、列をドロップインする際の UI スタイルに一致します。</P> <P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="pauldeen_1-1789654714335.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="pauldeen_1-1789654714335.png" style="width: 155px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="pauldeen_1-1789654714335.png" style="width: 155px;"><span class="lia-inline-image-display-wrapper" image-alt="pauldeen_1-1789654714335.png" style="width: 155px;"><img src="https://us.v-cdn.net/6038925/uploads/images/117467i4343BA562F3D604F/pauldeen_1-1789654714335.png" role="button" title="pauldeen_1-1789654714335.png" alt="pauldeen_1-1789654714335.png" /></span><SPAN class="lia-inline-image-caption" onclick="event.preventDefault();">pauldeen_1-1789654714335.png</SPAN></SPAN><SPAN class="lia-inline-image-caption" onclick="event.preventDefault();">pauldeen_1-1789654714335.png</SPAN></SPAN><SPAN class="lia-inline-image-caption" onclick="event.preventDefault();">pauldeen_1-1789654714335.png</SPAN></SPAN></P> <P>ここに記載されているすべての関数は、column() 型を受け入れるように拡張する必要があります。</P> <P><STRONG>この考え方が重要なのはなぜですか?</STRONG></P> <P>これにより、JSLとUIが論理的に同じように動作し、新規スクリプト作成者にとって参入障壁が低くなります。</P> <BR /> <BR />
Re: すべての列関数が Column("Name") 引数を受け取れるようにして、JSL からの列数式の作成を簡素化する以下は、ColumnとAs Columnの違いに関するコミュニティ投稿です。
Column() と As Column() と datable:column と dt:As name("column")
カラム()は、値、色、仕様などのプロパティを持つオブジェクトだと考えてください。Column() は「現在の行の値を取得する」という意味なので、これは数式で必要なものです。
数式では、実際にはcolumn() ではなく As Column() を使用する必要があります。
Column() の代わりに As Column ( ) を使用する回避策でよろしいでしょうか?
dt = Open( "$SAMPLE_DATA/Cars.jmp" );
ColList = {};
For(i=1, i<=NCols(), i++,
If(Column(i)<
<GETDATATYPE></GETDATATYPE>
Re: すべての列関数が Column("Name") 引数を受け取れるようにして、JSL からの列数式の作成を簡素化する数式では、列()が使用されることがあります。
例えば、値が仕様を満たしているかどうかを確認したい場合、column() [列プロパティを持つもの]に仕様を問い合わせ、現在の行の値 ( column() として) をこの仕様と比較するために、かなり複雑な構造が必要になります。
カラム()を列として()の代替として使用すると、これらの関数は動作しなくなります。
一方、質問が仕様に含まれているかどうかについては、 JMP 2027でそのような計算を容易にするヘルパー関数が提供されることを望みます。
:folded_hands: は仕様(値)に含まれています