null でない上の最後の行の間隔を計算するにはどうすればよいですか?この例を図で使用します。
ありがとう!

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt[2::8,"height"]="";
dt[10::17,"height"]="";
dt[19::28,"height"]="";
dt[30::39,"height"]="";
New Column("new",Character,"Nominal",Width(5));スクリプティングRe: null でない上の最後の行の間隔を計算するにはどうすればよいですか?列データをマトリックスに移動し、新しい列にしたい形式で新しいマトリックスを生成し、完了したらマトリックスをデータ テーブルに移動するのは簡単なことです。 すべての行列操作はメモリ内で行われます。Re: null でない上の最後の行の間隔を計算するにはどうすればよいですか?ありがとう!
Re: null でない上の最後の行の間隔を計算するにはどうすればよいですか?「new2」の別の列を追加して、次の予選インターバルに取得したいと考えています。

両方の列 ("new"、"new2") を同時に計算して出力するにはどうすればよいですか?VBA 配列のように、メモリ um 操作で、一度テーブルに出力します。
ありがとう!
Re: null でない上の最後の行の間隔を計算するにはどうすればよいですか?ありがとうジム!
私は VBA を使用しており、自分のプロジェクトを完了するためにループを記述することがよくあります。
私はしばしば数百万行以上のデータを使用します。速度は重要な問題です。
JMPの方が速い気がします。
Re: null でない上の最後の行の間隔を計算するにはどうすればよいですか?Excel は、独自の独自のコーディング ショートカットを持つ JMP を含む多くの言語と同様です。それらのいくつかは、多くの言語でより普遍的に使用されるようになっていますが、ほとんどは独自の言語内で独自の構文としてとどまっています。このような JMP の構文項目はすべて、スクリプト ガイドで説明されています。
計算を行う別の方法を次に示します。小さなデータ テーブルでは問題なく動作しますが、行数が多いとコストがかかります。
names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt[2 :: 8, "height"] = "";
dt[10 :: 17, "height"] = "";
dt[19 :: 28, "height"] = "";
dt[30 :: 39, "height"] = "";
New Column( "new",
formula(
If( Is Missing( :height ) == 0,
curRow = Row();
x = curRow - Max( Current Data Table() << get rows where( Row() < curRow & Is Missing( :height ) == 0 ) );
,
x = .
);
x;
)
)
Re: null でない上の最後の行の間隔を計算するにはどうすればよいですか?私が提供した数式は十分ではありませんか?
Re: null でない上の最後の行の間隔を計算するにはどうすればよいですか?この加工された「Big Class. JMP "説明するデータ:
行の高さの列が空でない場合、行の上の高さの列データの最後の行で空でない行の数の間隔を見つけます。
たとえば、dt[18," height "] は空ではありません。行 18 の一番上にある最後の空でない行は DT [9," height "] です。したがって、dt[18,"new"] は次を返します: 18 - 9 = 9
ありがとう!Re: null でない上の最後の行の間隔を計算するにはどうすればよいですか?この式でどのような結果が得られることを期待していますか?
Re: null でない上の最後の行の間隔を計算するにはどうすればよいですか?">0" などのパラメータは JMP では機能しませんが、Excel では機能します。
Contains(:[Index(1,Row())],">0",-1)
Contains(:[Index(1,Row())],!is Missing(:),-1)
Re: null でない上の最後の行の間隔を計算するにはどうすればよいですか?ありがとうジム!
私はずっとエクセルを使っていて、これらの単純なデータ処理は簡単です。
Excel でデータを処理してから、JMP を使用する専門的なモジュールを使用したくありません。代わりに、JMP を使用してそれらすべてを処理してください。
JMPはこの式でできると思います。でも書き方はわかる
Contains(:[Index(1,Row())],,-1)
Re: null でない上の最後の行の間隔を計算するにはどうすればよいですか?- 「New」という新しい列を文字列にしたくないし、「Nominal」にしたくないと思うので、それらの仮定に基づいて式を書きました。
- JMP式の概念に苦労しているようです。ディスカッション エントリのいくつかは、かなり単純な問題を解決するための支援を求めています。これらの数式を作成できるようにするために、コミュニティは何を支援できますか?
- これが私の解決策です......他の人は別の方法またはより良い方法を持っているかもしれません
names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt[2 :: 8, "height"] = "";
dt[10 :: 17, "height"] = "";
dt[19 :: 28, "height"] = "";
dt[30 :: 39, "height"] = "";
New Column( "new",
formula(
If( Row() == 1, last = 0 );
If( Is Missing( :height ) == 0,
If( last == 0,
x = .;
last = Row();
,
x = Row() - last
);
last = Row();
,
x = .
);
x;
)
);