選択範囲内のデータをクリアするいくつかの行と列を持つ大きなテーブルがあります。 テーブルからいくつかのデータを削除したいと考えています。
たとえば、行2から列番号までのデータを削除します。いくつかの基準に基づいて10。 しかし、同じ行の 11 列目以降のデータをそのまま保持します。 私が持っているコードは次のとおりです。
cdt = Current Data Table();
cdt << select columns( 1 :: 21 );
cdt << select where(Is Missing(:Name("Record no.")));選択したデータを削除したい。
これを行う簡単な方法があるはずですが、実際にはどうすればよいのかわかりません。 右クリックして「クリア」を選択できます。
ただし、このタスクを自動化できるように、jsl スクリプト コードが必要です。
自動化とスクリプト作成消費者および市場調査Re: 選択範囲内のデータをクリアしたいどうもありがとうございます。 私が問題を解決し、JMP が実際に何であるかを理解するために多大な時間を費やしていただいたことに本当に感謝しています。 JMP は Excel ではないと言われ続けていますが、Excel から JMP に移行するときにそのことを念頭に置くのは非常に困難です。 また、jsl というと、JMP には MATLAB や Python のような機能があると思われますが、必ずしもそうとは限りません。
JMP に関するトレーニングと教育の必要性については、私も同意できません。
私と同じように、ここにいる私たちのほとんどは、業界で働き始めてから JMP を使い始めた人たちです。
学習には良くないかもしれませんが、資料を読むよりもフォーラムで解決策を尋ねた方が早く結果が得られる場合があります。
ドキュメントを作成します(これは正しいことです)。 コミュニティ スレッドでのソリューションはこれまで私にとって非常に役に立ち、そのすべてに非常に感謝しています。
Re: 選択範囲内のデータをクリアしたい何年も使ってきたツールに戻り、詳細を学ぶことが手っ取り早い/正しい方法である場合もあります。JMP を初めて使用するユーザーにとって、Excel は間違いなく主要な記録ツールです。
特に、Excel が exCELL ベースであり、JMP が列ベースであることを考えると、JMP には、特定の列内の一部のセルを列内で上下に移動するなどの処理を行う関数がありません。これは、JMP が同じ行の列値に関係があると想定しているためです。Excel にはそのような前提はありません。一方、JMP は列ベースであるため、多くの機能やプラットフォームなどでそれを利用しています。多くの場合、追加の作業を行うことで、JMP が実行する処理のいくつかを非常に簡単に実行できるようになります。Excel の Vlookup は、データを「検索」するのに、JMP の更新プラットフォームよりもはるかに多くの労力を必要とする項目の 1 つです。逆に、あなたがコミュニティに質問したタスク、つまり列内でセルを上に移動するタスクは、それを達成するために JMP がさらに多くの作業を行う必要があります。JMP に関して言えることの 1 つは、JMP は分析目的であるため、Excel よりも広範で複雑であるということです。したがって、より多くのトレーニング/教育が必要になります。そのため、コミュニティのメンバーが個人に JMP 文書を読むよう勧めているのを見かけることがあります。これらは、JMP で何ができるか、そしてそれにどのようにアプローチするかを実際に理解する唯一の方法です。
以下は、各列内の欠落していない行を上に移動するスクリプトです。これは、私がこれを行うことを想像できる方法の 1 つにすぎません。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt1 = dt << subset(selected rows(0), selected columns(0));
dt1 << set name( "Example 1" );
// randomly clear some data from the different columns
// to have different cells blank or with missing values
For( i = 1, i <= N Cols( dt1 ), i++,
For( k = 1, k <= 5, k++,
If( Column( dt1, i ) << get datatype == "Character",
Column( dt1, i )[Random Integer( 1, N Rows( dt1 ) )] = "",
Column( dt1, i )[Random Integer( 1, N Rows( dt1 ) )] = .
)
)
);
// For the example, create a copy of the Example 1 data table to work on,
// so the beginning and modified tables can be viewed
wk1 = dt1 << subset(selected rows(0), selected columns(0));
wk1 << set name("Working 1");
// Remove the missing cells for each column and move up the remaining
// rows to fill in
For(i=1,i<=n cols(wk1),i++,
dtTemp=wk1<<SUBSET></SUBSET>Re: 選択範囲内のデータをクリアしたい現時点では、それをどうやって実現できるのか全く分かりません。 この問題に対する私の今の解決策は、
jmp テーブルを Excel にエクスポートします。
cdt << Save("C:\Users\Neal\Desktop\Data entry.xlsx");
Excel にエクスポートした後、空のセルを削除し、データを jmp テーブルに戻します。
Re: 選択範囲内のデータをクリアしたい何を試しましたか?
Re: 選択範囲内のデータをクリアしたい解決策をありがとうございます。 できます。 しかし、今は別の問題があります。
すべてのセルを削除した後、データを統合したいと考えています。つまり、データは上にシフトされます。
削除後に残るスペース。 それを実現するためのJSLコードはありますか?Re: 選択範囲内のデータをクリアしたいこれをコード化する別の方法を次に示します。これは列の数値範囲を処理し、それらが文字列であると想定するため、値を空白の "" に設定します。
names default to here(1);
cdt = open("$SAMPLE_DATA/Big Class.jmp");
rows = cdt << get rows where (:sex=="F");
cdt[rows,4::5]= "";Re: 選択範囲内のデータをクリアしたいあなたのソリューションは数値列に対して機能します。 しかし、数値以外の場合はどうでしょうか。
また、列を次々と進めるのではなく。 範囲だけでいいんじゃないでしょうか。 1::4くらいでしょうか?
Re: 選択範囲内のデータをクリアしたいOK、申し訳ありませんが、あなたの説明をもう一度読みました。
cdt = open("$SAMPLE_DATA/Big Class.jmp");
rows = cdt << get rows where (:sex=="F");
column(cdt,4)[rows] = .;
column(cdt,5)[rows] = .;Re: 選択範囲内のデータをクリアしたい選択した内容だけを削除したいのですが。 私が使うなら
Delete Rows
行全体が削除されます。 先ほども言いましたが、行全体を削除する必要はありません。
Re: 選択範囲内のデータをクリアしたい...それとも私が愚かなので、選択したセルの内容をクリアしたいということですか?
Re: 選択範囲内のデータをクリアしたいあなたが求めているのは、特定の行を選択した後、それらをどのように削除するかということだと思います。メッセージ削除行を使用できます。
dt << delete rows;
スクリプト インデックスを確認すると、選択された行のみが削除されていることがわかります。
Re: 選択範囲内のデータをクリアしたい解決策は、選択をクリアすることです。
「クリア」-選択内容を削除するものを探しています。
申し訳ありませんが、明確に説明できませんでした。
Re: 選択範囲内のデータをクリアしたいメッセージを利用することができます列の選択をクリアと選択をクリアそれぞれ列と行に対応します。
cdt = open("$SAMPLE_DATA/Big Class.jmp");
cdt << select columns(4::5);
cdt << select where(:sex=="F");
wait(2);
cdt << clear column selection;
cdt << clear select;