<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、
まず、JMP11を使用しています
アナリストが将来使用できるテンプレートスクリプトを作成しようとしています。 私はJSLを初めて使用し、JSLに特定のワークシートをインポートする方法を理解し、特定の変数を数値に変更して新しい計算を追加しようとしています。
このコードのインポート部分を試すと、「Our Data」という新しいデータテーブルを作成するのではなく、インポートウィザードが開きます。
-
dtmain = New Table( "Our Data"、
Open( "C:\ Testing Data.xlsx"、
ワークシート( "最終データ")、
)。
);
現在のデータテーブル(dtmain);
column(dtmain、 "Type")<< data type(Numeric)<< Modeling Type(Ordinal)<< Format(Best、12);
column(dtmain、 "Result1)<< data type(Numeric)<< Modeling Type(Continuous)<< Format(Best、12);
column(dtmain、 "Result2")<<データ型(数値)<< Modeling Type(Continuous)<< Format(Best、12);
New Column( "結果比率"、
数値、
継続的、
Format( "Best"、12)、
Formula(:Result1 /:Result2)
);
別の方法として、Open()関数に統合できるファイルパス内の特定のファイルを選択する関数「PickFile()」があります。
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( "-" )
)
);
ワークシート部分は、開くファイルを参照しているため、開くの外に置くことはできません。JSLで一般的に開くためのデフォルト設定を指定する方法は実際にはありません。JSLは、既知の名前と設定で既知のシートを開くことを目的としています。ごめん。
ブライアン・コルコラン
ファイルを開きたい場合のフォーマットはどうですか?
これを使用しましたが、機能しませんでした
開ける();
ワークシート(( 「惑星」 )。 、
すべてのシートに使用(( 1 )。 、
ワークシートを連結する(( 0 )。 、
連結列を作成する(( 0 )。 、
1 、
列ヘッダーがあります(( 1 )。 、
ヘッダーの行数(( 1 )。 、
ヘッダーは行から始まります(( 2 )。 、
データは行から始まります(( 3 )。 、
データは列から始まります(( 1 )。 、
データは行で終了します(( 0 )。 、
データは列で終了します(( 0 )。 、
複製されたスパン行(( 1 )。 、
隠された行を抑制します(( 1 )。 、
非表示の列を抑制します(( 1 )。 、
階層として扱う(( 0 )。
));
はい、ありがとうございます! 以前に以前のコードでそれを試しましたが、空白の列が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:\ Testing Data.xlsx" 、ワークシート(( 「最終データ」 )) ;
dtmain <<セット名(( 「私たちのデータ」 )。 ;