列から選択したラベルに対応する空ではない行の値を取得するにはどうすればよいですか?添付のようなフォームの受信データがあります。
特定のラベルに対して表示される各列 (赤で囲んだ部分) から最初の 3 行の値を取得したいと考えています。
以下は電流では機能しますが、電圧では機能しません(電圧では空の値が得られますが、その理由は理解しています)
Stage = "7"; resCol = "Current";
theLSL = Column( dt, resCol )[(dt << get rows where( :TestStage == Stage & :label == "LSL" ))[1]]; show (theLSL);
theUSL = Column( dt, resCol )[(dt << get rows where( :TestStage == Stage & :label == "USL" ))[1]]; show (theUSL);

自動化とスクリプト作成ウィンドウズRe: 列から選択したラベルに対応する空でない行の値を取得するにはどうすればよいですか?IsMissing() を使用して追加のチェックを追加できます。
... & !IsMissing(Column(dt, resCol)[])
Re: 列から選択したラベルに対応する空でない行の値を取得するにはどうすればよいですか?@jthiありがとう。
Re: 列から選択したラベルに対応する空でない行の値を取得するにはどうすればよいですか?<< get rows where に対するもう 1 つの検索条件です。
dt << get rows where(:TestStage == Stage & :label == "USL" & !Is Missing(Column(dt, resCol)[]))
Re: 列から選択したラベルに対応する空でない行の値を取得するにはどうすればよいですか?記述された JSL は、最初に一致した行の値のみを返します。その間
dt << get rows where( :TestStage == Stage & :label == "LSL" )
[1] の添え字が追加されると、見つかったすべての一致する行の行列を返します。
(dt << get rows where( :TestStage == Stage & :label == "LSL" ))[1]
見つかった最初の行のみの行番号を返しますが、この例では欠損値が返されます。
@jthi Jarmo は、欠損値を排除するためにさらに明確化を追加することを提案しています。これにより、Get Rows Where() が次のように変更されます。
(dt << get rows where( :TestStage == Stage & :label == "LSL" & !IsMissing(Column(dt, resCol) ) )[1]
これは、欠損していない最初の値を探しているだけの場合には、優れた解決策です。ただし、データに欠損していない LSL 値の行が複数含まれている可能性がある場合は、最初の欠損していない値を見つけたくない場合があります。返された欠落していないすべての行から最大 USL 値または平均 USL 値を見つけるなどの操作を行うことができます。次のようなことができます
theUSL = dt << get rows where( :TestStage == Stage & :label == "LSL" & !Is Missing( Column( dt, resCol ) ) );
USLMat = [];
For Each( {foundRow, index}, theUSL, USLMat = USLMat || Column( dt, resCol )[index] );
theUSL = Mean( USLMat );
Re: 列から選択したラベルに対応する空でない行の値を取得するにはどうすればよいですか?私は同じことをしようとしていますが、私の場合は
dt << Get Rows Where(:A == "AAA")
1 つの要素を含むリストを与えます。
だから私は使わなければなりません
:B[(dt << Get Rows Where(:A == "AAA"))[1]]
Re: 列から選択したラベルに対応する空でない行の値を取得するにはどうすればよいですか?@miguello 、質問はありますか?
Re: 列から選択したラベルに対応する空でない行の値を取得するにはどうすればよいですか?おそらくそうではないでしょう。ただ、どちらの動作が正しいのか、そしてなぜ私と@Neo はこうして、あなたはこうしてるのかを理解したいだけです。
行列を与えるか、行列を含む単一要素のリストを与えるかによって何が左右されるのでしょうか?
Re: 列から選択したラベルに対応する空でない行の値を取得するにはどうすればよいですか?Get Rows Where() 呼び出しから 1 行のみを返す場合、意味のある違いはありません。