變量中的自動SPEC限制。圖表你好
我創建了一個腳本,該腳本生成在Y軸:NewValue和X軸:ENTITY上顯示的可變性圖表。
可變性圖表由ATTRIBUTE_NAME過濾,因此我可以獲得大量圖表,每個圖表對應每個屬性名稱。
我希望腳本將附加數據表中的相關SPEC限制(稱為“ Gases SPEC限制”)添加到新列,並為每個具有特定SPEC值的屬性名稱生成可變性圖表。
無法理解該怎麼做,請幫忙!
到目前為止,這裡已附上我無法通過腳本為3個不同屬性手動生成USL的腳本:
dt =當前數據表();
dt <<新建列(“ USL”,
數字,
連續,
公式(If(::ATTRIBUTE_NAME ==“ Gas07TactrasFlowCheckF2”,65,
If(:ATTRIBUTE_NAME ==“ Gas08TactrasFlowCheckF2”,70,
If(:ATTRIBUTE_NAME ==“ Gas04TactrasFlowCheckF2”,15,10)
)))
);
varch = dt <<變異圖(
Y(:NewValue),
X(:ENTITY),
由(:ATTRIBUTE_NAME),
顯示範圍條(0),
顯示單元均值(0),
連接單元均值(0),
顯示分隔符(0),
標准開發圖(0),
抖動點(1),
AIAG標籤(0),
ATTRIBUTE_NAME
SendToReport(
調度(
{},
“ 1”,
ScaleBox,
{添加參考線(__Upper__,“實線”,“黑色”,“ gfgfd”,1)}
),
調度(
{},
“單向圖”,
框框,
)
)
);
對於(i = 1,i <= N Rows(dt),i ++,
report(varch)[axisbox(1)] <<添加參考線(dt:LSL [i],“ Solid”,“ Dark Green”,“ Target”,1);
report(varch)[axisbox(1)] <<添加參考線(dt:USL [i],“ Solid”,“ Dark Green”,“”,1);
);
回复:自動SPEC限制(以var為單位)。圖表您的腳本有2個問題
- 可變性圖表的輸出不會輸出1報告結構,而是會為每個“按”組輸出報告結構。 因此,指定
Report( varch )[AxisBox(1)]
是不正確的引用,它需要指定要引用的報告結構,例如“ Gas07TactrasFlowCheckF2 “按字母順序是第一個分組,則引用為
Report( varch[1] )[AxisBox(1)]
- For()循環將為數據表中的每一行創建一組參考線。 我假設您的數據表中可能有數百行,並且您將一遍又一遍地寫相同的行。 您需要做的是為要創建的每個VarChart創建一個僅包含一行的摘要表,然後瀏覽該表並將值應用於適當的可變性圖表。
我已附上一個示例,說明您可能想如何執行腳本
names default to here(1);
dt=Open("$SAMPLE_DATA/big class.jmp");
// add the USL and LSL to the data as in your example
dt << New Column( "LSL", formula(
If(:Age == 12, 52,
:Age == 13, 57,
:Age == 14, 62,
:Age == 15, 64,
:Age == 16, 64,
64
)
));
dt << New Column( "USL", formula(
If(:Age == 12, 65,
:Age == 13, 66,
:Age == 14, 70,
:Age == 15, 70.5,
:Age == 16, 71,
72
)
));
// Create a summary table with one row for each level of Age
dtSum = dt << Summary(
Group( :age ),
Mean( :LSL ),
Mean( :USL ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" )
);
varch = dt << Variability Chart( Y( :height ), X( :sex),by(:age));
// For each row of the summary table, take it's values add apply to the appropriate
// chart in the Variability Chart
For( i=1, i<=N Rows(dtSum), i++,
Report( varch[i] )[axisbox( 1 )] << Add Ref Line( dtSum:LSL[i], "Solid", "Dark Green", "Target", 1 );
Report( varch[i] )[axisbox( 1 )] << Add Ref Line( dtSum:USL[i], "Solid", "Dark Green", "", 1 );
);回复:自動SPEC限制(以var為單位)。圖表感謝您的回答!
為了進一步提高腳本性能,我想將我當前的表(我願意分析的數據)與另一個不變的數據表(SPEC限制)連接起來。
SPEC限制數據表包含以下列:“ Gas__TactrasFlowCheckF _”,“ LSL”,“ TARGET”,“ USL”。
第一列“ _”符號代表1-14種不同氣體的選項,每種氣體有4種流量設置。
將數據連接到一個表將比記下每種氣體類型的每個規格限制更容易。
2個數據表僅共享1列“ Gas__TactrasFlowCheckF”,我希望腳本為當前行的每行添加3個SPEC限制。
加入數據表後,我將在第一個回復中使用腳本來生成var。每種氣體流量的圖表及其特定規格設置。
我想做的第二件事是雙變量圖:
在X軸上,我將放置“時間”,而在Y軸上,則將放置“值”。我將為每個流量設置生成一個圖。
我很難為每個圖添加參考線(“ LSL”,“ TARGET”,“ USL”)。
非常感謝您的幫助!
謝謝