新しい列を作成した後、スクリプトを使用してそれを最初の列になるように移動するにはどうすればよいですか?やあみんな、
バックグラウンド:
そこで、SQL データベースからサンプル データを取得するために使用するプロセスを自動化しようとしています。 私がやっているのは、データベース クエリ ビルダーを使用し、ポストクエリ スクリプトでデータを抽出することです。そこに以下のダミー コードが配置されます。
問題:
現在、新しい列を作成して必要な数式を与えるスクリプトを入手しましたが、実際に役立つのは、これらの新しい列の一部をシャッフルするコード行があれば便利です。
私のダミーコードは次のとおりです。
」
New Column( "ColumnToMove",
Numeric,
"Nominal",
Format( "Best", 12 )
Formula(1));
Move Selected Columns({“ColumnToMove”}, To First);
」
(このスクリプト言語がどのように機能するかについて誤解があることをご容赦ください。私は現在、この言語について非常に初心者です)
ご協力いただきありがとうございました
Re: 新しい列を作成した後、スクリプトを使用してそれを最初の列になるように移動するにはどうすればよいですか?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />列の順序に問題はありません。コードを作成するときに物事を整理しておくのは非常に役立ちます。ただし、コードの速度が遅くなる可能性があります。明らかなのは、実際には何もしない余分なステップが追加されていることです。非表示のテーブルを並べ替えると高速になりますが、テーブルが非表示になるため、並べ替えても意味がありません。
さらに、初心者プログラマは、最初の 5 列または最後の 5 列であれこれの分析を実行するために列の順序を変更する習慣が身につく可能性があります。これは悪い習慣であり、柔軟性に欠け、より遅いコードを生成します。
最後に、SQL と JSL のどちらで列を追加するかを選択するのは個人的な意見です。明らかに、どちらも列 3 = 列 1 + 列 2 の列を追加できます。SQL を使用すると、処理能力がホスト コンピューターからサーバー CPU に転送され、速度が遅くなったり速くなったりする可能性がありますが、プラットフォーム間での一貫性はより高くなります。SQL を使用すると、追加の手順を 1 ~ 2 つ追加することなく、必要な場所にその列を配置できるというさらなる利点が得られます。以上のことを踏まえると、私は列を追加するのに JSL を使用することを好むことがよくあります。
Re: 新しい列を作成した後、スクリプトを使用してそれを最初の列になるように移動するにはどうすればよいですか?皆さんのご協力に感謝します、本当に感謝しています。 答えなどを受け取りました
(msharp - これ以上の作業に SQL を使用していない理由は、SQL からデータを取得するためにクエリ ビルダーを使用しており、クエリ ビルダーが使用している SQL をさらに調整することはできないと考えているためです。 これで、クエリ全体をスクリプト言語でスクリプト化し、JMP ではなく SQL 内ですべての作業を実行できるようになりました。 ただし、変数を抽出する前に毎回クエリ ビルダーを使用して異なる変数を選択できるのは、非常に便利だと思います (変数をハード コーディングして毎回スクリプト内のエントリを検索する必要はありません)。 同様に、私は何かを見逃しているかもしれません。
また、プレゼンテーション層については私も同意しますが、現在、整理すべきことを理解しつつある段階では、これが非常に便利であると感じています。 また、かなりの数の列があります (次のステップは、スクリプト言語を使用して列をグループ化することです)。つまり、データ探索 (現在私が行っていること) に関しては、より関連性の高い列が手元にあると便利です。 また、グラフビルダーなどを使用するようになると、データの探索が少し簡単になります。 あなたのご親切に感謝します)
(ジェフ・パーキンソン – いいえ、それについては知りませんでした。 私の注意を喚起していただき、誠にありがとうございます。 これから大いに使えそうです)
Re: 新しい列を作成した後、スクリプトを使用してそれを最初の列になるように移動するにはどうすればよいですか?素晴らしいヒントです。
通常、列を移動することはありません。○列の順序付けはプレゼンテーションの問題です。データは列の順序に依存しないでください。プレゼンテーションは、データ テーブルではなく、グラフやチャートなどのプレゼンテーション レイヤーに任せるのが最善です。
Re: 新しい列を作成した後、スクリプトを使用してそれを最初の列になるように移動するにはどうすればよいですか?
ところで: まだ見つけていない場合は、スクリプトインデックス下ヘルプメニューはあなたの友達です。

Re: 新しい列を作成した後、スクリプトを使用してそれを最初の列になるように移動するにはどうすればよいですか?列名を指定すると、選択した列を移動する移動するために選択する必要はありません。
dt = New Table( "Untitled", Add Rows( 1 ),
New Column( "First", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1] ) ),
New Column( "Second", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [2] ) )
);
dt << New Column( "ColumnToMove", Numeric, "Nominal", Format( "Best", 12 ), Formula(1));
wait(2); // Put a delay to see the effect
dt << Move Selected Columns({"ColumnToMove"}, To First);
Re: 新しい列を作成した後、スクリプトを使用してそれを最初の列になるように移動するにはどうすればよいですか?列を移動することは可能ですが、本来より 2 つまたは 3 つの余分な手順が必要になるように常に感じられます。主に、移動できるのは選択した列のみであり、列を選択するのは簡単ではありません。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Go To( :Age );
Wait( 2 );
dt << Move Selected Columns( To last );
dt << Clear Column Selection;
Wait( 2 );
dt << Reverse Order;
SQL を変更して列を希望の順序で取得できない理由はありますか?SQL は、ほとんどの列スクリプトをデータ プル内で直接実行できる十分に堅牢な言語です。
Re: 新しい列を作成した後、スクリプトを使用してそれを最初の列になるように移動するにはどうすればよいですか?作成時に複数の列を追加して位置を設定するか、あなたが言及した選択列の移動メッセージを使用することができると思います。
dt=currentdatatable();
dt<<ADD multiple="" columns=""></ADD>
どちらのメソッドでも After(col) で場所を指定できます。