現在の行までの空でない行の積をどのように計算できますか?現在の行までのすべての(空ではない)行の積を計算する列式を作成しようとしています。
データテーブルの例 (およびスクリーンショット) を添付しました。
「Product」列を「Value」列の空でないすべての行の積にしようとしています。手動で計算した結果と計算を右側の「望ましい結果」と「望ましい結果の説明」に示します。

データ テーブルの例では、いくつかのデータ セットの問題を強調してみました。
1. 「グループ」ごとの行数はグループによって異なります。
2.「グループ」は常に一緒であり、秩序があります。グループ1は全員集合します。グループ 1 は常にグループ 2 の前に来ます。
3. [値] 列には、グループごとに空でない行が 1 つだけ含まれます。これは常にそのグループの最初の行になります。
これには「ループ」または「for」タイプの式が必要になると思いますが、これらを構築する経験は限られています。
解決策がない場合でも、解決策につながる可能性があると思われるアイデアやガイドへのリンク、またはその他の議論に感謝します。
過去の試み:
この質問に対する txnelson の回答 ( https://community.jmp.com/t5/Discussions/How-to-multiply-all-elements-in-a-list/td-p/667633 ) が機能するかもしれないと思いましたが、探している結果は得られませんでした。
お時間を割いてご協力いただき、ありがとうございました!
JMP バージョン: 17.2.0、Windows 10
自動化とスクリプト作成基本的なデータ分析とモデリングウィンドウズRe: 現在の行までの空でない行の積を計算するにはどうすればよいですか?値は常に各グループの最初の行から見つかるという知識を使用する 1 つのオプション
If(Row() == 1,
val = 1;
);
If(Row() == Col Min(Row(), :Group),
val = val * :Value;
,
.;
);

編集:
そして、これは :Value が欠落しているかどうかの他のチェックです
If(Row() == 1,
val = 1;
);
If(!IsMissing(:Value),
val = val * :Value;
,
.
);
最初の If をAs Constantに置き換えることもできるはずです
As Constant(val = 1);
If(!IsMissing(:Value),
val = val * :Value;
,
.
);
Re: 現在の行までの空でない行の積を計算するにはどうすればよいですか?ありがとう、ジャーモ、完璧に働きました!