列表表達式僅計算第一個值我試圖將其修復為JMP15首次發布無法正常運行的腳本。
我有一個List變量,其中包含感興趣的列號。
ListofColumns= List(8,12,7,14);
我試圖在一個窗口中針對列表中的每個列生成一組控製圖:
Win4=Control Chart Builder(
Show Control Panel( 0 ),
Show Limit Summaries( 0 ),
Show Capability( 0 ),
Variables(Y(eval(ListofColumns)))
);
當我運行此代碼時,它將為第8列生成適當的控製圖,但沒有其他控製圖。
另一方面,如果手動輸入列表,則會正確生成所有四個控製圖:
Win4=Control Chart Builder(
Show Control Panel( 0 ),
Show Limit Summaries( 0 ),
Show Capability( 0 ),
Variables(Y(8,12,7,14))
);
我確定這曾經在控製圖構建器之前與代碼一起使用。 而且我也肯定我缺少一些簡單的東西。 感謝任何幫助!
腳本編寫回复:列表表達式僅計算第一個值我測試了您的代碼回到JMP 11,發現代碼可以正常工作。 以下是我認為的醜陋解決方法,希望有人有更好的解決方案
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/blood pressure.jmp" );
ListofColumns = List( 8, 4, 7, 5 );
Eval(
Parse(
"Win4=Control Chart Builder(
Show Control Panel( 0 ),
Show Limit Summaries( 0 ),
Show Capability( 0 ),
Variables(Y( "
|| Substr(
Char( listofcolumns ),
2,
Length( Char( listofcolumns ) ) - 2
) || " )
));"
)
);
回复:列表表達式僅計算第一個值謝謝你的提示。 但是我最終採取了另一種方法,遍歷列表中的每個值:
For( j = 1, j <= N Items(ListofColumns), j++, //step through the row numbers of interest
WinHandle3 << append (Control Chart( //append the control chart to existing window
Sample Label( :Lot_Number ), // using legacy Control Chart platform allows sample label use
Group Size( 1 ),
KSigma( 3 ),
Chart Col(
ListofColumns[j],
Individual Measurement,
Moving Range
)));
); // close the for loop.
我只是將每個圖表附加到現有窗口。 我還改用了舊版控製圖平台,而不是(改進了的)控製圖構建器,因為我想指定樣本標籤,而不是在X軸上指定無意義的序列號。 上面的腳本似乎有效。