Re: カスタム列の式を一度に評価する、または行間の値をキャッシュするオプションまたは関数このオプションまたは関数を使用すると、カスタム列変換を簡単に作成して、次のような問題を解決できます。 @ほぎその後の返信の一つで一意のカウント
Re: カスタム列の式を一度に評価する、または行間の値をキャッシュするオプションまたは関数この問題の調査は進行中です。解決策に到達したら最新情報をお知らせします。
Re: カスタム列の式を一度に評価する、または行間の値をキャッシュするオプションまたは関数別の例: 除外された行を無視する Savitzky-Golay フィルターのようなカスタムのスムーズな関数を作成します。これは、最初の行が評価されるときに一度に列全体を効率的に計算できます。最初の評価で列全体の値をキャッシュし、再計算するのではなく、事前に計算された結果を各行に返したいと考えています。毎回。
Re: カスタム列の式を一度に評価する、または行間の値をキャッシュするオプションまたは関数はい、私もそれに気づきましたが、そのように使用していたかどうかは確かです。 私が望むものに対して「定数」の部分を真剣に受け止めすぎているようです。 調査する必要がありますが、依存関係/再実行を認識するための新しい機能が必要になる可能性があります。
あなたのようなケースでは、通常、式をテーブル変数に依存させ、ループを通過するたびにテーブル変数を更新して新しいランダム値を取得します。
Re: カスタム列の式を一度に評価する、または行間の値をキャッシュするオプションまたは関数こんにちは@XanGregg 、
何かが欠けている可能性がありますが、テーブル数式が再度実行されたときに As Constant を再評価することができなかったようです。テーブルが開いている限り、値を (おそらく正しく) キャッシュしているようです。 以下は、グローバル変数を使用してこの問題を解決する、より完全な例です。
もっと見る... Re: カスタム列の式を一度に評価する、または行間の値をキャッシュするオプションまたは関数As Constant(x) 関数を見たことがありますか? これにより、リクエストの 1 回のみの部分が処理されるはずです。
Local(
{startofweek = As Constant(
Random Uniform(
Col Min( :Timestamp ),
Col Max( :Timestamp ) - In Days( 7 )
)
)},
If( :timestamp > startofweek & :timestamp < startofweek + In Days( 7 ),
1,
0
)
)Re: カスタム列の式を一度に評価する、または行間の値をキャッシュするオプションまたは関数例と追加情報をありがとう@ih 。 ステータスを調査中に変更しました。
Re: カスタム列の式を一度に評価する、または行間の値をキャッシュするオプションまたは関数 - ステータスが「調査中」に変更されましたRe: カスタム列の式を一度に評価する、または行間の値をキャッシュするオプションまたは関数ここでは潜在的な使用例をいくつか紹介しますが、今は忘れている他にも使用例があると思います。これらの多くは、小さなテーブルの場合、または複数の列またはテーブル変数を使用することで簡単に解決できますが、列のコンテキスト変数を提供するとより簡単になります。
- 列の式でランダムな値を使用して、シミュレーションで置き換えられるようにします。
// this value should be cached and re-used for all rows,
// but it should change each time the column is recalculated
startofweek = Random Uniform(
Col Min( :Timestamp ),
Col Max( :Timestamp ) - In Days( 7 )
);
If( :Timestamp > startofweek & :Timestamp < startofweek + In Days( 7 ),
1,
0
);
- 最後の仕様外サンプルの開始以降の行数。
- 本キャンペーン終了までの期間
- この製品コードの最後の 10 サンプルの移動平均
Re: カスタム列の式を一度に評価する、または行間の値をキャッシュするオプションまたは関数この投稿が問題を示している可能性があると思いますbyVarを持つ統計カスタム(数式)関数の作成
Re: カスタム列の式を一度に評価する、または行間の値をキャッシュするオプションまたは関数 - ステータスが「情報が必要」に変更されました@ihあなたが説明した問題を説明するデータテーブルの例を共有していただけますか?
Re: カスタム列の式を一度に評価する、または行間の値をキャッシュするオプションまたは関数@ホギ- ここでは、テクニカル サポートの件での私の回答を文脈から無視しています。 私が言及していたのはカスタム変換それがあなたが尋ねたことだからです。
カスタム関数全般については何も言いませんでした。
数式エディター自体には、通常、列参照をカスタム関数に渡す方法があります (例: Expr() でラップするなど)。 または、JMP がメッセージ送信などで列を使用する必要があることを認識する方法。
Re: カスタム列の式を一度に評価する、または行間の値をキャッシュするオプションまたは関数痛い - 答えはさらに悲しいです: *)

*) TS-00063463
Re: カスタム列の式を一度に評価する、または行間の値をキャッシュするオプションまたは関数
@ih書きました:
数式は現在の行だけではなく列全体にアクセスする必要があるため、列参照は評価せずに渡す必要があります。
@ジェフ・パーキンソンTS-00063463 に関しては、悲しい答えは「まだ」だと思います。
したがって、速度以外にも、現時点では多くのタスクをカスタム関数を介して実装することは不可能です。
状態:調査中-> 有望ですね:)
次のリリースのいずれかで列参照をパラメータとして受け入れるようにカスタム関数を調整する方法があることを願っています...
https://community.jmp.com/t5/Discussions/Column-reference-in-custom-function/mp/265085/highlight/true#M51645
Re: カスタム列の式を一度に評価したり、行間で値をキャッシュするオプションまたは関数具体的には、次の方法で追加されるカスタム関数にこの機能が必要です。
カスタム関数を追加する(新しいカスタム関数())
カスタム変換は、この素晴らしいフレームワークのアプリケーションの 1 つにすぎません。
編集:
例えば
Names Default To Here( 1 );
Add Custom Functions(
New Custom Function(
"COL",
"Median",
Function( {value, byGroup},
Col Median( value, byGroup )
),
<
<FORMULA category=""></FORMULA>
<P><A href="https://community.jmp.com/t5/Discussions/Fast-Way-to-calculate-quot-nested-quot-Col-aggregations-like-MAD/m-p/887467/highlight/true#M104961" target="_blank">https://community.jmp.com/t5/Discussions/Fast-Way-to-calculate-quot-nested-quot-Col-aggregations-like-MAD/mp/887467/highlight/true#M104961</A> </P>
カスタム列の式を一度に評価したり、行間の値をキャッシュしたりするためのオプションまたは関数Col Mean() などの一部の組み込み列式は、高価な値を 1 回計算するだけで行ごとに返すか変更するため、非常に高速です。カスタム数式では、各行が個別に評価されるため、これを実現するのはさらに難しくなります。場合によっては、中間値を格納するために別の列を使用すると処理が高速化することがあります (たとえば、行ごとにインデックスを再計算するのではなく、特定の条件を満たす行インデックスを格納するなど) が、面倒で理解しにくくなります。 1 つの行の評価で前の行で計算された中間値にアクセスできるような列コンテキストの概念があれば、スクリプトはすべての行の結果を一度に計算し、すぐにそれらを返し、中間結果を次の行に渡すことができます。行。 数式は現在の行だけではなく列全体にアクセスする必要があるため、列参照は評価せずに渡す必要があります。
自動化とスクリプト作成Re: カスタム列の式を一度に評価する、または行間の値をキャッシュするオプションまたは関数解決策の半分、あるいは 1/4 としましょう。

これは非常に便利な機能で、しばらく前に提供されたソリューションから学びました。 @txnelson :
https://community.jmp.com/t5/JMP-Wish-List/Option-or-function-to-evaluate-a-custom-column-formula-at-once/idc-p/695311/highlight/true# M5011
1 回限りの部分が発生することがわかっている場合は、いつも同じ結果が得られる場合は、使用を検討してください定数としてカスタム関数。
(以下のコードは、 https://community.jmp.com/t5/Discussions/Differentiate-between-entire-column-and-current-row/mp/677710/highlight/true#M86405による@jthi )
興味深いのは、評価されるのは一度だけであり、二度と評価されることはない (!)
一般に、これは「once」の極端すぎるバージョンになります 
の行動を変える可能性定数としてカスタム式で?
たとえば、毎回実行しますrow()==1?
Names Default To Here(1);
row_count = 10;
dt = New Table("test",
Add Rows(row_count),
New Column("Die X", set each value(row())),
New Column("Die Y", set each value(Random Integer(1, row_count * 2)))
);
dt << New Column("Formula As Constant", Numeric, Nominal, Formula(
As Constant(print("direct","");x_m = :Die X << get values);
Contains(x_m, :Die Y) > 0;
));
Add Custom Functions(
New Custom Function(
"test",
"myFunc",
Function( {},
As Constant(print("custom","");x_m2 = :Die X << get values);
Contains(x_m2, :Die Y) > 0;
)));
dt << New Column("Formula via Custom Formula", Numeric, Nominal, Formula(test:myFunc()));
Re: カスタム列の数式を一度に評価する、または行間で値をキャッシュするオプションまたは関数 - ステータスが「確認済み」に変更されましたRe: カスタム列の式を一度に評価したり、行間で値をキャッシュするオプションまたは関数JMP19 では、いくつかの改善が行われます。
たとえば、中間のダミー列がなくても、 Col MAD() を桁違いに高速に計算することが可能になります。
MAD のような「ネストされた」Col...集計を計算する高速な方法
Re: カスタム列の式を一度に評価したり、行間で値をキャッシュするオプションまたは関数これは、数式エディタで手動で作成されるカスタム関数のタイプに当てはまります。また、 Function() を介して作成されるカスタム関数のトリックにも当てはまります。
カスタム関数の追加 (新しいカスタム関数 ()) を介して作成された「カスタム関数」は保持されません。