<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、
まず、私はJMP 11を使用しています
アナリストが将来使用できるテンプレート スクリプトを作成しようとしています。 私は JSL を初めて使用するもので、特定のワークシートを JSL にインポートし、特定の変数を数値に変更して新しい計算を追加する方法を見つけようとしています。
このコードのインポート部分を試してみると、「Our Data」という新しいデータ テーブルが作成されるのではなく、インポート ウィザードが開きます。
--
dtmain = New Table("私たちのデータ",
Open("C:\Testing Data.xlsx",
ワークシート(「最終データ」)、
)
);
現在のデータ テーブル (dtmain)。
column (dtmain, "Type") <<データ型 (数値) <<モデリング型(順序) <<形式(Best, 12);
column (dtmain, "Result1) <<データ型 (数値) <<モデリング型(連続) <<形式(Best, 12);
列 (dtmain, "Result2") <<データ型 (数値) <<モデリング型(連続) <<形式(Best, 12);
新しい列( "結果の比率",
数値、
継続的、
Format( "ベスト", 12 ),
式( :結果1 / :結果2 )
);
代わりに、ファイル パス内の特定のファイルを選択する関数「Pick File()」があり、Open() 関数に統合できます。
Open(Pick File(
"Select JMP File",
"$DOCUMENTS",
{"JMP Files|jmp;jsl;jrn", "All Files|*"},
1,
0,
"newJmpFile.jmp"
),
Worksheets( "Sheet 1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);または、Excel ファイルに常に同じ名前を付けて、スクリプト Open() をこの特定の名前で使用できるようにすることもできます。
Open(
"C:\Desktop\ExcelFile.xlsx",
Worksheets( "Sheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
Worksheets 部分は開くファイルを参照するため、Open の外に置くことはできません。実際には、JSL で一般的なオープンのデフォルト設定を指定する方法はありません。JSL は、既知の名前と設定を持つ既知のシートを開くことを目的としています。ごめん。
ブライアン・コーコラン
はい、ありがとうございます! 以前のコードでそれを試したことがありますが、空白の列が 1 つだけあるデータ テーブルを開いていました。 これを行うと上記のコード変更は機能しました。
どうもありがとうございます!
JSL の「ファイルを開く」部分を正しく取得する最も簡単な方法は、まず UI と Excel ウィザードを使用してファイルを開くことです。次に、開いたテーブルにソース スクリプトが表示されます。このスクリプトには、まったく同じ方法でテーブルを再度開くために必要な JSL が含まれています。ソース スクリプトをコンテキスト クリックして [編集] を選択すると、JSL を抽出できます。私の表の例は次のとおりです。
開ける(
「C:\Testdata\excel\Excel 2007+\MultipleDiffSettings.xlsx」 、
ワークシート( 「惑星」 ) 、
すべてのシートに使用( 1 ) 、
ワークシートを連結する( 0 ) 、
連結列の作成( 0 ) 、
1 、
列ヘッダーあり( 1 ) 、
ヘッダーの行数( 1 ) 、
ヘッダーは行から始まります( 2 ) 、
データは行から始まります( 3 ) 、
データは列から始まります( 1 ) 、
データは行で終了します( 0 ) 、
データは列で終了します( 0 ) 、
レプリケートされたスパン行( 1 ) 、
非表示の行を抑制する( 1 ) 、
非表示の列を非表示にする( 1 ) 、
階層として扱う( 0 )
));
残念ながら、まだ Excel インポート ウィザードが開いています。 Excel ファイル内に複数のワークシートが存在する場合、それが問題になる場合がありますが、Worksheets コマンドを使用すれば問題は起こらないと思います。
開始コマンドと名前変更コマンドを分離してみてください。
dtmain =開ける( 「C:\テストデータ.xlsx」 、ワークシート( 「最終データ」 )) ;
dtmain <<セット名( 「私たちのデータ」 ) ;