プライベート データ テーブルのオンとオフを切り替えるスクリプトの多くをクリーンに保つために、私は「private」を頻繁に使用します。 ただし、スクリプトのトラブルシューティングを行う場合、テーブルをプライベートにするのは邪魔になるため、コメントアウトする必要があります。変更を加えたときに、できればコメントを解除して、変更が機能するかどうかを確認することを忘れないでください。
方法はありますか、それとも JMP にはプライベート テーブルをオンまたはオフにするグローバルな方法がすでにありますか? 私の頭の中では、時間をかけてプライベートの有無にかかわらずコードの複製を作成し、それをテスト変数に結び付けることもできましたが、それが最良の答えとは思えません。
それを行う方法について何かアイデアがあるかどうかはわかりませんでした。 ありがとう!
自動化とスクリプト作成Re: プライベート データ テーブルのオンとオフを切り替えるそれは素晴らしいよ、ヴィンス! これは私が最終的にやったことと似ていますが、データビューを双方向にできる点ではるかにエレガントです。
Re: プライベート データ テーブルのオンとオフを切り替える同意しました@Craige_Halesと@txnelsonそれらの点について。@レッセル、私が通常プライベートテーブルを選択する主な理由は、多くのテーブルを変更/更新/その他するスクリプトがある場合です。 ウィンドウを放っておくと、ウィンドウが表示されたり消えたりするときに、ユーザーの目の前で画面上で非常に派手に表示される可能性があります。ウィンドウが非表示の場合、ユーザーはウィンドウ リストに多くのアクティビティが表示される可能性があります。気晴らし。
私はほとんどの場合、プライベート テーブルを選択します。プライベート テーブルでは、必要な視覚的な手順のみが視覚的に表示され、ユーザーにとって最もクリーンなインターフェイスが実現されるからです。 テーブルの数とユーザーのコンピュータによっては、RAM の利点により全体的な速度も向上します。
Re: プライベート データ テーブルのオンとオフを切り替えるジムは正しいです。プライベート テーブルには OS ウィンドウ構造が作成されませんが、非表示テーブルには表示されないウィンドウがあります。 CPU とメモリがわずかに節約される可能性がありますが、テーブルが数百または数千ある場合には、合計される可能性があります。
私がプライベートを使用したのは、次のことを書いたときだけです。ファイルスナッパーまた、実行されている他の JSL の JSL 環境を乱すことなく、アプリケーションが静かに実行されるようにしたいと考えていました。 ほとんどの場合、プライベート データ テーブルはまったく検出できません。 少し邪魔な列名が付いています。
Re: プライベート データ テーブルのオンとオフを切り替えるネイサン、これは少しでも役に立ちますか?
Names default to here( 1 );
dt = open("$SAMPLE_DATA\Big Class.jmp");
privateTable = Function({bool,dt},{default local},
table_name = dt << Get Name;
If(!bool & !(dt << HasDataView), // no table but you want one
print("making "||table_name||" public");
dt << New Data View;
Return(dt);
, // elif
bool & dt << HasDataView, // you have a table but want it private
print("making "||table_name||" private");
dt_sub = dt << Subset( All rows, Selected columns only( 0 ), "private" );
close(dt, no save);
dt_sub << Set Name(table_name);
return(dt_sub);
, // else just return what's given
print("passthrough");
return(dt);
)
);
dt = privateTable(1, dt); // should make it private
wait(2);
dt = privateTable(1, dt); // should do nothing
wait(2);
dt = privateTable(0, dt); // should do make it visible
wait(2);
dt = privateTable(1, dt); // should do make it private again
Re: プライベート データ テーブルのオンとオフを切り替えるRAM を節約できるのが利点です。プライベート テーブルは表示オブジェクトを作成しません。これらのオブジェクトが表示される場合は、すべてメモリにマップする必要があります。
Re: プライベート データ テーブルのオンとオフを切り替えるプライベート テーブルを使用する利点は正確には何でしょうか? メモリを節約しますか?
Re: プライベート データ テーブルのオンとオフを切り替えるはい! それは間違いなく私のレーダーにあります。 私は関数/ユーティリティのライブラリを持っており、その多くを手元に保管 (および配布) しています。カスタム関数の側面に移行することは、より動的な関数の多くにとって長期的な 1 つの計画です。
Re: プライベート データ テーブルのオンとオフを切り替えるその関数が頻繁に必要な場合は、カスタム関数を作成すると便利な場合があります。カスタム関数、変換、およびフォーマットの作成 (jmp.com)こうすることで、スクリプト インデックスからカスタム関数を直接確認することもできます。
Re: プライベート データ テーブルのオンとオフを切り替えるみんな、ありがとう! 最終的に次のことを実行しました。理想的ではありませんが、かなりうまく機能するはずです。 関数を作成し、基本的にプライベートをオン/オフにする変数をスクリプトの先頭に置きました
seePrivateTables = 1;
unprivatizeTable = Function({bool,tableName},{default local},
If(bool == 1,
tableName << New Data View;
Return(tableName)
,
Return(tableName)
)
);
// ... various code
dt1 = dt << Summary(.... , private);
dt1 = unprivatizeTable(seePrivateTables, dt1);新しいテーブルを作成するときにその関数を呼び出すことを覚えていれば、プライベート テーブルを一括でオンまたはオフにできるはずです。
Re: プライベート データ テーブルのオンとオフを切り替える表示テーブルと非表示テーブルは JMP によって追跡されます。 たとえば、ホーム ウィンドウでそれらを監視できます。 プライベート テーブルは、それを作成するコードによってのみ追跡されます。 ハンドルを保持する JSL 変数を上書きする前にプライベート テーブルを閉じることに失敗した場合、テーブルはメモリ内にまだ存在しますが、到達できなくなります。 JMP が終了すると閉じられます。 (Window->CloseAllDataTables ではプライベート テーブルが見つからず、閉じられません。)
また、JMP は、表示テーブルまたは非表示テーブルをプライベートにする方法を公開していないことも確信しています。 ハンドルを持っている場合は、次のようにプライベート テーブルを非表示テーブルに切り替えることができます。
dtA = Open( "$SAMPLE_DATA/Big Class.jmp", private );
// getting the data box makes it invisible
b = dtA << New Data Box();
// then show window makes it visible
dtA << Show Window;
残念ながら、目に見えないキーワードははキーワードであり、少なくとも open() には変数として渡すことはできません。 サブセットなどについてはわかりません。おそらく、テーブルを作成したり開いたりする各時点の後に、上記のような処理を行うユーザー関数への呼び出しを追加するのが最善です。
Re: プライベート データ テーブルのオンとオフを切り替える<< 新しいデータ ビューを使用すると、プライベート テーブルを表示できる場合があります。 このコンテキストでこれが何を行うかは 100% ではありませんが、プライベート テーブルが表示されるようで、デバッグに使用しました。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp", private);
wait(2);
dt << New Data View;
再び非公開にする方法はわかりませんが、<< Show Window(0);少なくとも非表示になります。
Re: プライベート データ テーブルのオンとオフを切り替えるプライベートのオンとオフを切り替えるには、メモリ内のすべての表示オブジェクトをその場で構築する必要があるため、私は知りません。ただし、Show Window メッセージを使用して、通常のデータ テーブルまたは非表示のデータ テーブルを表示/非表示にすることができます。
data table("Daily Blood Pressure")<<SHOW window=""></SHOW>