ある列の名前を使用して、その列の「異常値」しきい値(固定値のみを使用したい)の上下にある別のデータテーブルの行数をチェックするコードがあります。
コードは以下の通りです。通常、これを30〜50列に対して実行します(つまり、各行に対して30〜50回繰り返します)。それは現在26秒かかります、データテーブル(異常値が数えられているもの - これには少数の行(200)しか含まれていません)。それで、何かが遅すぎるようです。
私は表形式でやってみました、そして要約することを考えていました - しかし、私は単純な閾値より上に数える必要があります。これをもっと早くするための提案はありますか?以下のコードの "rankdt:Analysis Columns"に格納されているように、任意の数のcolumsnを補完できる必要があります。
「行を取得する場所」を「場所を選択する」に変更して、選択した行をカウントしましたが、速度に違いはありませんでした。
ありがとう、
ジェットピーチ
for each row( // for each row in rankdt - 30 to 50 rows
col_to_count = char(rankdt:Analysis Columns);
rowsAbove= jdt<<GET rows="" where=""> outlier_flag_threshold);
:Above flag =N rows(rowsAbove);
rowsBelow= jdt<<GET rows="" where=""></GET></GET>
行列計算またはColStat関数を使用すると速度が向上する可能性がある状況のように見えます。
テーブルとしきい値がどのように編成されているかは、私にはわかりません。共有してもらえますか
テーブル例