JSLスクリプティング用のJMPファイルから数式を含む100個以上の列ヘッダーをコピーするこんにちは、
ボリュームデータ分析では、ExcelまたはCSVの大きな生データファイルをJMPにインポートし、その後、以前のファイルの1つから各JMPファイルに手動で100個以上の列ヘッダーを数式と共にコピー/貼り付けしました。この方法は非常に時間がかかることがわかり、JSLスクリプトに移行したいと思います。
私のファイルの一つから得た式と一緒にこれらの100以上の列ヘッダを一つのファイルに保存する簡単な方法はありますか?公式の新しい列は自動的に?
再:JSLスクリプティングのためのJMPファイルから数式を含む100以上の列ヘッダをコピーする私はこのアプローチがJMP 12でうまくいくと思います。
すべての式列を古い列/テンプレート表から式列のない新しい表に転送するJSLの例:
Names Default To Here(1);
// Old table with all desired formula columns
dt = Open("$SAMPLE_DATA/Diabetes.jmp");
// New table without the formula columns
dt_new = dt << subset(Columns({1, 4 :: N Col(dt)}));
//Get scripts for all formulas columns in old table
formula_columns = {};
For(i = 1, i <= N Col(dt), i++,
If(!Is Empty(Column(dt, i) << get property(Formula)),
Insert Into(formula_columns, Column(dt, i))
)
);
//Add formula columns to new table
Current Data Table(dt_new);
Eval List(formula_columns << get script);再:JSLスクリプティングのためのJMPファイルから数式を含む100以上の列ヘッダをコピーするこんにちは @ xenon2090 、
私はこの状況であなたに役立つかもしれないアドインを書きました、選択した列のコピースクリプト 。インストールが完了したら、数式列を選択し、[アドイン]メニューから[アドイン]を実行すると、それらの正確な列をクリップボードにjslとして再作成するスクリプトが表示されます。そのスクリプトを新しいウィンドウに貼り付け、それらの列を現在のテーブルに追加するときはいつでも実行します。
ジュリアン
再:JSLスクリプティングのためのJMPファイルから数式を含む100以上の列ヘッダをコピーするこれはスクリプトではありませんが、実際には2〜4ステップしかないので、この方法を使用することをお勧めします。
仮定:あなたはそれらの100+ Columns and FormulasがあるがデータがないJMP Tableを持っています(reference table)
1。通常どおりにデータをインポートして参照テーブルを開きます
2。列名をコピーする
a)左側の列概要で、すべての列をマークしてコピー(ctrl + c)
b)新しいテーブルに、列概要のすべての列をマークして貼り付けます(ctrl + v)。
3。式をコピーする
a)参照テーブルのすべての列にマークを付け、テーブルの選択された領域を右クリックして[Copy Multiple Column Properties]を選択します。
b)新しいテーブルのすべての列をマークし、テーブルの選択した領域を右クリックして[複数列のプロパティを貼り付け]を選択します。
これはあなたが必要とすることをするべきです。
注:JMP 12では、複数の列プロパティーをコピーするためのスクリプトはありません。それ以降のバージョンでは(少なくともJMP 14があります)。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
dt << Select Columns( :MODULUS, :ELONG );
dt << Copy Multi Columns Properties;
再:JSLスクリプティングのためのJMPファイルから数式を含む100以上の列ヘッダをコピーするFormula DepotスクリプトのみがJMP 14を必要とします。 2番目のスクリプトはJMP 12で機能します。 「Big Class」データテーブルを開いてスクリプトを実行するだけで、列が適用されることがわかります。
再:JSLスクリプティングのためのJMPファイルから数式を含む100以上の列ヘッダをコピーするJMP 12があります。解決策はありますか?
再:JSLスクリプティングのためのJMPファイルから数式を含む100以上の列ヘッダをコピーするJMP 14にはフォーミュラデポがあり、フォーミュラを保存し、それを適用したいデータテーブルに適用することができます。
また、すべての数式列のスクリプトを簡単に取得してスクリプトに保存することもできます。その後、将来のデータテーブルの場合は、スクリプトを実行するだけで新しい列が生成されます。
これは、新しいFormula Depotを生成する簡単なスクリプトです。JMP 14があるとします。
Formula Depot(
Predictor(
Table( "Untitled 179" ),
Creator( "Column Ratio" ),
Command( "Column<<GET script=""></GET>
そしてこれは、実行時に2つの新しい列を生成し、それらの式を適用するという単純なスクリプトを使用する代替方法です。
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Ratio",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( :height / :weight ),
Set Selected
);
dt << New Column( "Reverse Ratio",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( :weight / :height ),
Set Selected
);
サンプルJMPデータテーブル「Big Class」を開いた場合は、Formula Depotまたは単純なスクリプト、あるいはその両方から新しい列を適用してみることができます。