いくつかの列の値に基づいて行を非表示にして除外しないようにするにはどうすればよいですかこんにちは、
ここでいくつかのガイダンスが必要です....
2 つの列 (per_Change) と Step (数式ベースの値) があり、Per_Change 列は -ve から +ve の値に並べ替えられています。
私のスクリプトでは、最大行数を知る必要があるため、ランク列を 1 ~ 14 (添付の画像の昇順) から作成し、少なくとも 8 行 (最高ランクから開始) が必要です。
手順:
1. Per_Change 列の -ve 値を除外する
2. その後、列のステップはいくつかの式に基づいており、いくつかの「-ve」と「+ve」といくつかの「null」値を作成します。 col ステップのすべての -ve 値を非表示にして除外します。数式は -ve 値を生成するため、null 値は既に非表示になっており、Col Per_Change に基づいて除外されています。
3. 私の要件は、少なくとも 8 つの値 (降順) を持つことです。 私の例では、6 つの明確な行の状態 (ランク 9 ~ 14) があります (2 つの追加行は、降順、つまりランク 8 と 7 の非表示/除外解除からのものである必要がありますが、null 値が多くて少ない場合は、シナリオに「null」値を含めないでください。 col ステップの -ve または +ve 値)。
ステップ 1 と 2 は、JSL スクリプトで実行できますが、追加の 2 行を有効にする際に問題が発生します。
ラグ関数を使用して、ダミー列を作成して逆の順序で有効にしようとしましたが、追加の行の選択を解除するのに苦労しています。
.
ありがとう!
Re: いくつかの列の値に基づいて行を非表示にして除外しないようにするにはどうすればよいですか迅速な返信ありがとうございます...それは動作します!
Re: いくつかの列の値に基づいて行を非表示にして除外しないようにするにはどうすればよいですかCG さん、あなたの例をエミュレートするために PerChangeExample という名前のデータ テーブルを添付しました。
このスクリプトを試してください
Names Default to Here(1);
dt = Data Table("PerChangeExample");
dt << select where(:Per_change < 0 | IsMissing(:Per_change) );
dt << exclude(1) << hide(1);
dt << select where(:Step < 0 | IsMissing(:Step) );
dt << exclude(1) << hide(1);
dt << clear select;
nexcl = nrow( dt << get excluded rows() );
if ( nrow(dt) - nexcl < 8,
for(i = nexcl, i > nrow(dt) -8 , i--,
if ( !IsMissing(:Step[i]),
dt << Select Rows(i);
dt << Exclude(0) << Hide(0);
dt << clear select;
)
); //end for i
); // end if
nexcl = nrow( dt << get excluded rows() );
if ( nrow(dt) - nexcl < 8, throw() ); //stop program execution if still not enough data.