<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、
複数のデータテーブルを開き、新しい列を作成し、それらの各ファイルの結果に応じて色を割り当てるアルゴリズムを実行するスクリプトがあります。それからそれらを連結し、どの列を選択したかに応じてサブセット表を作成します。
問題は、データテーブルを連結しても、新しい連結データテーブルに色が表示されず、サブセットにも表示されないことです。私のスクリプトは以下の通りです。スクリプトとデータテーブルも添付しました。ありがとうございました。
ここにデフォルトの名前 ( 1 ) ;
//開くファイルのリストを取得するには 'PickFile()'を使用する(Windowsのみ)
fileList = ピックファイル (
「複数のファイルを1つ選択してください」 、 //プロンプト
"$ DESKTOP" 、 //初期フォルダ
{ "JMPファイル| jmp; jsl; jrn; csv" 、 "すべてのファイル| *" } 、 //適用するファイルフィルタのリスト(OS / Xでは無視される)
1 、 //適用する初期ファイルフィルタ(上記のリストの項目のインデックス)
0 、 //保存フラグ - [保存]または[開く]ウィンドウを指定します。それぞれ1または0の値を設定してください。
空の () 、 //デフォルトファイル
複数 // Multiple - 'Save Flag' = 0の場合、値1を使用すると複数のファイルを開くことができます(OS / Xでは無視されます)。
) ;
//単一のファイルのみが選択されている場合、fileListはリストにはなりません。そのため、自分で作成する必要があります。
もし ( !リストです ( fileList ) 、
fileList = 評価リスト ( { fileList } )
) ;
//ファイルを開き、対応するJMPテーブル名を保存します
tableNames = {} ;
にとって ( f = 1 、 f <= N個のアイテム ( fileList ) 、 f ++、
dttemp = 開いた ( fileList [ f ] ) ;
に挿入 ( tableNames 、 dttemp << getName ) ;
dttemp = 現在のデータ表 () ;
dttemp << 新しいコラム ( "St / Si" 、数値 、継続的 、フォーマット ( "ベスト" 、 5 ) 、
式 ( : 「ステアリング評価」 / : 「車の大きさ」 ) ) ;
dttemp << 新しいコラム ( "V1-St / Si" 、数値 、継続的 、フォーマット ( "ベスト" 、 5 )) ;
にとって ( 私 = 1 、私 <= N列 ( dttemp ) 、私 ++、
もし ( : "St / Si" [ 私 ] > ( コルミーン ( : "St / Si" ) + ( コルマキシマム ( : "St / Si" ) - コルミーン ( : "St / Si" )) * 1 / 2 ) 、 : "V1-St / Si" [ 私 ] = 3 、
もし ( : "St / Si" [ 私 ] > ( コルミーン ( : "St / Si" ) - ( コルミーン ( : "St / Si" ) - コルミニマム ( : "St / Si" )) * 1 / 2 ) 、 : "V1-St / Si" [ 私 ] = 2 、
もし ( : "St / Si" [ 私 ] > コルミニマム ( : "St / Si" ) 、 : "V1-St / Si" [ 私 ] = 1 、 : "V1-St / Si" [ 私 ] = 0 )
)
) ;
) ;
//行ごとに色を付ける
にとって ( 私 = 1 、私 <= N列 ( dttemp ) 、私 ++、
もし ( : "St / Si" [ 私 ] > ( コルミーン ( : "St / Si" ) + ( コルマキシマム ( : "St / Si" ) - コルミーン ( : "St / Si" )) * 1 / 2 ) 、
カラム ( dttemp 、 "V1-St / Si" ) << カラーセル ( 3 、 { 私 } ) 、
もし ( : "St / Si" [ 私 ] > ( コルミーン ( : "St / Si" ) - ( コルミーン ( : "St / Si" ) - コルミニマム ( : "St / Si" )) * 1 / 2 ) 、
カラム ( dttemp 、 "V1-St / Si" ) << カラーセル ( 9 、 { 私 } ) 、
もし ( : "St / Si" [ 私 ] > コルミニマム ( : "St / Si" ) 、
カラム ( dttemp 、 "V1-St / Si" ) << カラーセル ( 4 、 { 私 } ) 、
カラム ( dttemp 、 "V1-St / Si" ) << カラーセル ( 4 、 { 私 } )
)
)
) ;
) ;
//データテーブルをまとめて追加する
もし ( f == 1 、
dt = dttemp 、
dtx = dt << 参加する ( あり ( dttemp ) 、
メインテーブルの順序を維持 () 、
出力テーブル名 ( 「連結カラット」 ) 、
列プロパティを保持 、
) ;
閉じる ( dttemp 、保存しない ) ;
閉じる ( dt 、保存しない ) ;
dt = dtx
) ;
) ;
//ファイルをコピーするための列コピー機を作成する
dt = 現在のデータ表 () ;
dt2 = dt << サブセット () ;
MSさん、こんにちは。
どうもありがとうございます!あなたは最高です。それが正解でした。私は自分のコードを修正するのを間違えて、私のログをチェックした後にそれを修正しました。
誤解したかもしれませんが、JMP 12(OS X上)で3つの添付ファイルを選択してみたところ、出力テーブル "Concatenated Carrat 2"に色付きのセルが3列表示されていました。
エラーメッセージは表示されますか。
列プロパティを使用している場合値の色セルを着色するために、セルの色を結合テーブルに保持することができます。
以下はあなたのコードが複製されたものですが、新しい "V1-St / Si"列が作成されるたびにカラー列プロパティが追加されます。
ここにデフォルトの名前 ( 1 ;
//開くファイルのリストを取得するには 'PickFile()'を使用する(Windowsのみ)
fileList = ピックファイル (
「複数のファイルを1つ選択してください」 、 //プロンプト
"$ DESKTOP" 、 //初期フォルダ
{ "JMPファイル| jmp; jsl; jrn; csv" 、 "すべてのファイル| *" 、 //適用するファイルフィルタのリスト(OS / Xでは無視される)
1 、 //適用する初期ファイルフィルタ(上記のリストの項目のインデックス)
0 、 //保存フラグ - [保存]または[開く]ウィンドウを指定します。それぞれ1または0の値を設定してください。
空の ()、 //デフォルトファイル
複数 // Multiple - 'Save Flag' = 0の場合、値1を使用すると複数のファイルを開くことができます(OS / Xでは無視されます)。
;
//単一のファイルのみが選択されている場合、fileListはリストにはなりません。そのため、自分で作成する必要があります。
もし (!リストです (fileList)、
fileList = 評価リスト ({fileList})
;
//ファイルを開き、対応するJMPテーブル名を保存します
tableNames = {};
にとって (f = 1 、f <= N個のアイテム (fileList)、f ++、
dttemp = 開いた (fileList;
に挿入 (tableNames、dttemp << getName ;
dttemp = 現在のデータ表 ();
dttemp << 新しいコラム ( "St / Si" 、数値、連続、フォーマット ( "ベスト" 、 5 )、式(: 「ステアリング評価」 /: 「車の大きさ」 ;);
dttemp << 新しいコラム ( "V1-St / Si" 、
数値、
絶えず
フォーマット ( "ベスト" 、 5 )
<< 列プロパティを追加 (プロパティの設定( 「値の色」 、{ 0 = 4 、 1 = 4 、 2 = 9 、 3 = 3 値によるカラーセル)
;
にとって (i = 1 、i <= N列 (dttemp)、i ++、
もし (: "St / Si" >( コルミーン (: "St / Si" )+( コルマキシマム (: "St / Si" ) - コルミーン (: "St / Si" ))* 1 / 2 )
: "V1-St / Si" = 3 、
もし (: "St / Si" >( コルミーン (: "St / Si" ) - ( コルミーン (: "St / Si" ) - コルミニマム (: "St / Si" ))* 1 / 2 )
: "V1-St / Si" = 2 、
もし (: "St / Si" > コルミニマム (: "St / Si" )
: "V1-St / Si" = 1 、
: "V1-St / Si" = 0
)
)
)
;
//データテーブルをまとめて追加する
もし (f == 1 、
dt = dttemp、
dtx = dt << 参加する (with(dttemp)、メインテーブルの順序を保持()、出力テーブル名 「連結カラット」 )、列プロパティを保持します。
閉じる (dttemp、nosave);
閉じる (dt、nosave);
dt = dtx。
;
;