列を入れ替えてデータテーブルを保存する列を入れ替えた後、データテーブルを取得して正確性を保とうとしました。最初の3行にスペックの制限があるデータテーブルがあり、それらを別のファイルに保存して、データ分布プロットの一部として生データに適用される制限ファイルとして使用できるようにします。保存したSPEC LIMITSファイルを開くたびに、転置されていない形式の列が残っています。転置されていない列を持つテーブルと転置された列を持つテーブルの両方が画面上で開いています。
dt = Open(パス)。//開くデータファイルにファイルを選択します。スペック制限は最初の3行にあります
x = 3。//生データではない(そして仕様制限がある)行数
n = N行(dt)。//テーブルの総行数を取得します
(i = n、i> x、i--、//の場合、行4からテーブルの最後までのすべての行を削除します。
dt << Delete Rows(i);
n = dt << Get Column Names();
dt <<転置(
列(n)、
出力テーブル( "SPEC LIMITS")
;
:ラベル<< Set Name( "Parameter");
1行目<<セット名(「LSL」)。
:2行目<<セット名(「USL」)。
:3行目<<セット名(「単位」)。
dt << Save( "SPEC LIMITS.jmp"); //テーブル列を入れ替えてデータテーブルを保存しません。
close命令の一部としてテーブルを保存しようとしたところ、同じ結果が得られました。
close(dt、保存( "SPEC LIMITS.jmp"));
簡単な説明はあると思いますが、列を入れ替えてテーブルを保存するには何が必要ですかありがとうございました!
列を入れ替えてデータテーブルを保存する場合説明してくれてありがとう... 私はこれを試してみます:)列を入れ替えてデータテーブルを保存する場合1。 @stephen_pearson コードは、 @JensRiege コード。 ただし、元のコードの問題の原因は、 @stephen_pearson 新しいコードでは注釈されていません。
コードを保存できなかったことの主な問題は、データテーブルを保存するときに変数 "dt"が使用されていたことです。
dt << Save("SPEC LIMITS.jmp");
"dt"は元のデータテーブルを指し、転置データテーブルが作成されたとき
dt << Transpose(
columns(n),
Output Table( "SPEC LIMITS" )
);
どうやら変数 "dt"が新しいデータテーブルを指すようになるという仮定がなされたようです。
@stephen_pearson 「転置」によって作成された新しいテーブルを指す新しい列「dt2」を正しく作成し、それを「保存」機能で使用します。
dt2 = dt << Transpose(
columns(n),
Output Table( "SPEC LIMITS" )
);
:Label << Set Name( "Parameter" );
:Row 1 << Set Name( "LSL" );
:Row 2 << Set Name( "USL" );
:Row 3 << Set Name( "Units" );
dt2 << Save("$DESKTOP\SPEC LIMITS.jmp");<BR /><BR />
Transpose()に "dt2"ハンドルを追加し、Save関数の "dt"参照を "dt2"に変更した場合、元のコードは機能するはずです。
列を入れ替えてデータテーブルを保存する場合これを試して:
dt = currentdatatable(); // I select the file to data file to open. Spec limits are in first 3 rows
x = 3; // Number of rows that are not raw data (and have spec limits)
dt << select where(Row()>x);
dt << delete rows;
n = dt << Get Column Names("Numeric");
dt2 = dt << Transpose(
columns(n),
Output Table( "SPEC LIMITS" )
);
:Label << Set Name( "Parameter" );
:Row 1 << Set Name( "LSL" );
:Row 2 << Set Name( "USL" );
:Row 3 << Set Name( "Units" );
dt2 << Save("$DESKTOP\SPEC LIMITS.jmp"); // Save data table with table columns transposed.1)行を簡単に削除する
2)数値列名のみを取得します。文字列もある場合、データ列のデータ型が異なると転置は失敗します。
3)ファイルを保存する場所を指定します($ HOME、$ TEMPも探索するオプションです)。もししないなら:
入出力の問題
ReadWriteモードで開くことができません。
システムは、指定されたファイルを見つけることができません。
ファイルを保存できません。