変数の自動SPEC制限。チャートこんにちは
Y軸にNewValue、X軸にENTITYを示す変動チャートを生成するスクリプトを作成しました。
変動性チャートはATTRIBUTE_NAMEでフィルター処理されているので、属性名ごとにグラフがたくさん表示されます。
スクリプトで、追加のデータテーブル(「ガスSPEC制限」と呼ばれます)から関連するSPEC制限を新しい列に追加し、特定のSPEC値を持つ各属性名の変動グラフを生成します。
それを行う方法を理解できませんでした、助けてください!
ここに添付されているのは、これまでに失敗した3つの異なる属性のUSLを手動で生成するスクリプトです。
dt =現在のデータtable();
dt <<新しい列( "USL"、
数値、
継続的、
式(If(:ATTRIBUTE_NAME == "Gas07TactrasFlowCheckF2"、65、
If(:ATTRIBUTE_NAME == "Gas08TactrasFlowCheckF2"、70、
If(:ATTRIBUTE_NAME == "Gas04TactrasFlowCheckF2"、15、10)
)))
);
varch = dt <<変動性チャート(
Y(:NewValue)、
X(:ENTITY)、
By(:ATTRIBUTE_NAME)、
範囲バーを表示(0)、
セル平均を表示(0)、
セル平均の接続(0)、
セパレータを表示(0)、
標準偏差グラフ(0)、
ジッタポイント(1)、
AIAGラベル(0)、
属性名
SendToReport(
ディスパッチ(
{}、
「1」
ScaleBox、
{参照線を追加(__Upper__、"Solid"、"Black"、"gfgfd"、1)}
)、
ディスパッチ(
{}、
"一方向プロット"、
FrameBox、
)
)
);
For(i = 1、i <= N Rows(dt)、i ++、
report(varch)[axisbox(1)] << Add Ref Line(dt:LSL [i]、"Solid"、"Dark Green"、"Target"、1);
report(varch)[axisbox(1)] << Add Ref Line(dt:USL [i]、"Solid"、"Dark Green"、""、1);
);
Re:変数の自動SPEC制限。チャートスクリプトには2つの問題があります
- 変動グラフは、その出力に対して1つのレポート構造を出力しませんが、グループごとにレポート構造を出力します。 したがって、指定
Report( varch )[AxisBox(1)]
は正しくない参照です。「」などのように、参照するレポート構造を指定する必要があります。 Gas07TactrasFlowCheckF2 "これはアルファベット順で最初のグループです。参照は
Report( varch[1] )[AxisBox(1)]
- For()ループは、データテーブルの各行に一連の参照線を作成します。 私はあなたがあなたのデータテーブルに何百もの行を持っているかもしれないと仮定し、あなたは同じ行を何度も書いているでしょう。 実行する必要があるのは、作成するVarChartごとに1行だけの要約表を作成し、その表を調べて、適切な変動グラフに値を適用することです。
スクリプトを実行する方法を示す例を添付しました
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 );
);Re:変数の自動SPEC制限。チャートご回答有難うございます!
スクリプトをさらに進めるために、現在のテーブル(分析するデータを含む)を、一定で変化しない別のデータテーブル(SPEC制限)と結合したいと思います。
SPEC制限データテーブルには、「Gas__TactrasFlowCheckF _」、「LSL」、「TARGET」、「USL」の列が含まれています。
最初の列の「_」記号は、1〜14種類のガスのオプションを表し、各ガスに4種類のフロー設定があります。
データを1つのテーブルに結合すると、各ガスタイプのすべての仕様制限を書き留めるよりも簡単になります。
2つのデータテーブルは1つの列 "Gas__TactrasFlowCheckF"のみを共有しており、スクリプトで現在のテーブルに各行の3つのSPEC制限を追加します。
データテーブルに参加した後、最初の応答でスクリプトを使用して変数を生成します。特定の仕様設定を使用した各ガスフローのグラフ。
もう1つ作成したいのは、2変量プロットです。
X軸には「時間」、Y軸には「値」を配置します。フロー設定ごとに1つのプロットを生成します。
各プロットに参照線( "LSL"、"TARGET"、"USL")を追加するのに苦労しました。
これであなたの助けをいただければ幸いです!
ありがとう