列の仕様制限に基づいて列の値を変更する値を 360 度フロップするフェーズ テストがあります。 テーブルの列データを調べて平均をとり、それを LSL / USL と比較できるスクリプトが欲しいです。 平均の符号が仕様制限の反対である場合は、その値に 360 を追加します。
テスターがデータを処理する方法が原因で、ブランケット If( :test < 0, t1 = :column + 360; t1; ) を実行できません。
サンプル テーブルを添付しました。最後の 2 列が問題の場所です。
前もって感謝します
データ表スクリプティングRe: 列の仕様制限に基づいて列の値を変更するネルソンさん、ありがとうございます。
スクリプトを少し変更する必要がありました。 乗算を加算に変更し、平均を中央値に変更しました。 最初の投稿をしたとき、私は壊滅的な失敗を説明していませんでした. 列 40 と 41 には、LSL と USL の間にない col 平均値がありました。
Names Default To Here( 1 );
dt = Current Data Table();
colList = dt << get column names( continuous, string );
For( i = 1, i <= N Items( colList ), i++,
specs = Column( dt, colList[i] ) << get property( "spec limits" );
If( Is Missing( specs["LSL"] ) == 0 & Is Missing( specs["USL"] ) == 0,
If( !(specs["LSL"] <= Col Median( Column( dt, colList[i] ) ) <= specs["USL"]),
For Each Row( As Column( dt, colList[i] ) = 360 + As Column( dt, colList[i] ) )
)
);
);
Re: 列の仕様制限に基づいて列の値を変更するこの小さなスクリプトで目的が達成されるかどうかを確認してください
Names Default To Here( 1 );
dt = Current Data Table();
colList = dt << get column names( continuous, string );
For( i = 1, i <= N Items( colList ), i++,
specs = Column( dt, colList[i] ) << get property( "spec limits" );
If( Is Missing( specs["LSL"] ) == 0 & Is Missing( specs["USL"] ) == 0,
If( !(specs["LSL"] <= Col Mean( Column( dt, colList[i] ) ) <= specs["USL"]),
For Each Row( As Column( dt, colList[i] ) = -1 * As Column( dt, colList[i] ) )
)
);
);