FormulaまたはFor-Loopのグループ化された列に基づいて集計値(平均/最大など)を呼び出す方法こんにちは、みんな、
アラームがトリガーされた回数を調べようとしています。 単純なロジックに基づいて「発生数」列を作成しました。行()>行()+1のデータの場合、トリガーが再設定されます。 しかし、画像に見られるように、私は多くの誤警報を受け取っています。 実装したい新しいログイン-
もしも (
(Row()-Row()+ 1)> = Abs(Max(Data))/ 10、トリガーをリセットします。それ以外の場合はそのままにします。
)。
そんな感じ。
サマリーテーブルを作成し、サマリーテーブルから列を追加して、各値を新しい列と比較するなど、ビットログの方法でそれを行うことができます。 正常に動作しますが、スクリプトが遅くなります。
数式内またはForループでそれを実装するためのより良い方法はありますか?
どんな助けでも。
ありがとう。

スクリプティングRe:数式またはForループのグループ化された列に基づいて集計値(平均/最大など)を呼び出す方法Col Max()関数を使用してグループ内の最大値を取得し、Lag()を使用して列の行を比較できます。
アラームの背後にあるロジックを少し理解しやすくするために、データテーブルに「正しい」結果を提供できますか? または、現在のデータ値がグループ(IDおよびサブセット)内の以前の値よりも大きいかどうかを確認したいだけですか?
Re:数式またはFor-Loopのグループ化された列に基づいて集計値(平均/最大など)を呼び出す方法こんにちは@jthi
「発生数-修正済み」という列を追加しました。これは正しい(望ましい)結果を示しています。

Re:数式またはForループのグループ化された列に基づいて集計値(平均/最大など)を呼び出す方法次の式を使用して、最大10%を直接計算できます。
Col Max(:Data, :ID, :"Sub-set"n)*0.1
リセットされることはないようですが、1値戻る可能性があるため、発生をどのようにカウントするかはまだわかりません。 「現在の行」の後にある値データ列の値を確認するには、Lag(:Data、-1)を使用できます。

あなたが持っているルールは、1つの式として次のようになります。
If(:Data - Lag(:Data, -1) >= Abs(Col Max(:Data, :ID, :"Sub-set"n)) / 10,
1,
0
)
Re:数式またはForループのグループ化された列に基づいて集計値(平均/最大など)を呼び出す方法動作していません。 どういうわけか私は実装できません-"ColMax(:Data、Group by {ID、Sub-set})"このようなもの。
サマリーテーブルからメインテーブルの列式に値を呼び出すことができます。これは、元のソリューションよりも優れています。
ありがとう。
Re:数式またはForループのグループ化された列に基づいて集計値(平均/最大など)を呼び出す方法私はうまくいくように見える式を思いついた.........

発生数との不一致があります-修正されました。行32では、.13-08の結果が.05になり、.034よりも大きくなり、発生回数が増えると思います。

追加のオカレンスの実装も、それが検出された後の行まで適用されません。したがって、数式を使用するには、次の行が処理されるまで変更を適用しないように、少し工夫が必要です。以下は、「ジムの計算」列に使用した数式です。
If( Row() == 1 | :ID != Lag( :ID ) | :"Sub-set"n != Lag( :"Sub-set"n ),
hold = :Number of Occurance;
applyRow = 0;
);
If( :Data - Lag( :Data, -1 ) >= Abs( Col Max( :Data, :ID, :"Sub-set"n ) ) / 10,
applyRow = Row() + 1
);
If( Row() == applyRow,
applyRow = 0;
hold = hold + 1;
);
hold;
Re:数式またはFor-Loopのグループ化された列に基づいて集計値(平均/最大など)を呼び出す方法やあ@txnelson 、 機能した。どうもありがとう。
いくつかのこと-
1.1。 あなたの公式は機能しています。 ただし、行番号2の「hold」の入力として「No.ofOccurrence」を使用しています。 その列をバイパスする方法はありますか? (たとえば、元の「発生数」列はありません!)。 最初の3列だけに基づいて正しい発生数を取得できますか? 私はその列に依存したくありません。明日、ここで取り上げていない他のタイプの誤警報を見つけた場合です。

2.「サブセット」の横にある「n」とは何ですか-「サブセット」n? ジムの提案からもわかりませんでした。 それについての参照はありますか?
3.3。 行32では、発生が増加するはずです。 手動でいくつかの値を変更しましたが、それは私の間違いでした。
再度、感謝します。