JMP スクリプトの早い段階で、次のような文字列変数を定義します。
Trim0 = "trim_lvl_a";
データテーブルにtrim_lvl_aという名前の列があります。スクリプトの後半で、次のようなグラフ ビルダー スクリプトを作成します。
dt << New Script(
"maps",
Graph Builder(
Size( 550, 647 ),
Graph Spacing( 5 ),
Variables(
X( :X ),
Y( :Y ),
Group Y( :Name( "Tambient (degC)" ) ),
Wrap( :LotWafer ),
Color( Column(Trim0) )
),
Elements( Points( X, Y, Legend( 3 ) ) ),
Local Data Filter(
Add Filter(
columns( :LotWafer, :Name( "Tambient (degC)" ) ),
Where( :Name( "Tambient (degC)" ) == 25 ),
Display( :LotWafer, Size( 224, 105 ), List Display )
)
),
SendToReport(
Dispatch(
{},
"X",
ScaleBox,
{Min( -5 ), Max( 60 ), Inc( 5 ), Minor Ticks( 0 ),
Label Row( Show Major Grid( 1 ) )}
),
Dispatch(
{},
"Y",
ScaleBox,
{Min( -5 ), Max( 60 ), Inc( 5 ), Minor Ticks( 0 ),
Label Row( Show Major Grid( 1 ) )}
)
)
);
);The problem is where I try to use the Trim0 string constant in the Color part of the graph builder. Once my JMP script executes and the graph builder script called "maps" is saved to my data table dt, then when I click on the "maps" script in dt, it fails to execute and bring up the graph. How can I use my string variable Trim0 within this graph builder to refer to the desired column in my data table? I do not want to have to hard-wire the colulmn name trim_lvl_a into the Color part of the graph builder script. Thanks.</CODE></P><P> </P></LINGO-BODY><LINGO-LABS id="lingo-labs-741117" slang="en-US" mode="CREATE"><LINGO-LABEL>自動化とスクリプト</LINGO-LABEL></LINGO-LABS><LINGO-SUB id="lingo-sub-741157" slang="en-US" mode="CREATE">Re: グラフビルダースクリプト内での文字列変数の使用</LINGO-SUB><LINGO-BODY id="lingo-body-741157" slang="en-US" mode="CREATE"><P>コードを JMP に送信する前に、trim0 を評価する必要があります。スクリプトに以下の変更を加えると、必要な処理が実行されるはずです。</P>
<PRE><CODE class=" language-jsl">Eval(
Eval Expr(
dt << New Script(
"maps",
Graph Builder(
Size( 550, 647 ),
Graph Spacing( 5 ),
Variables(
X( :X ),
Y( :Y ),
Group Y( :Name( "Tambient (degC)" ) ),
Wrap( :LotWafer ),
Color( Column( Expr( Trim0 ) ) )
),
Elements( Points( X, Y, Legend( 3 ) ) ),
Local Data Filter(
Add Filter(
columns( :LotWafer, :Name( "Tambient (degC)" ) ),
Where( :Name( "Tambient (degC)" ) == 25 ),
Display( :LotWafer, Size( 224, 105 ), List Display )
)
),
SendToReport(
Dispatch(
{},
"X",
ScaleBox,
{Min( -5 ), Max( 60 ), Inc( 5 ), Minor Ticks( 0 ), Label Row( Show Major Grid( 1 ) )}
),
Dispatch(
{},
"Y",
ScaleBox,
{Min( -5 ), Max( 60 ), Inc( 5 ), Minor Ticks( 0 ), Label Row( Show Major Grid( 1 ) )}
)
)
)
)
)
);