Cómo recuperar un valor agregado (promedio / máximo, etc.) basado en una columna agrupada en Fórmula o en For-LoopHola a todos,
Estoy tratando de averiguar el número de veces que se activó la alarma. He creado una columna "Número de ocurrencia" basada en una lógica simple: si hay datos en la fila ()> fila () + 1, el disparador se restableció. Pero estoy recibiendo muchas falsas alarmas, como se ve en la imagen. El nuevo inicio de sesión que quiero implementar -
Si (
(Fila () - Fila () + 1)> = Abs (Max (Datos)) / 10, Restablecer el disparador, de lo contrario vivirlo como está
)
Algo como eso.
Puedo hacerlo en una forma de registro de bits, como hacer una tabla de resumen y luego agregar una columna de la tabla de resumen y luego comparar cada valor con una nueva columna. Funciona bien pero hace que mi guión sea lento.
¿Hay alguna manera mejor de implementarlo dentro de la fórmula o en el bucle For?
Alguna ayuda.
Gracias.

ScriptingRe: Cómo recuperar un valor agregado (media / Max, etc.) basado en una columna agrupada en Formula o en For-LoopPuede usar la función Col Max () para obtener el valor máximo dentro de los grupos y Lag () para comparar entre filas en la columna.
¿Podría proporcionar una tabla de datos con resultados "correctos" para facilitar la comprensión de la lógica detrás de las alarmas? ¿O simplemente desea verificar si el valor de datos actual es mayor que el valor anterior dentro del grupo (ID y subconjunto)?
Re: Cómo recuperar un valor agregado (media / Max, etc.) basado en una columna agrupada en Formula o en For-LoopHola @jthi
He agregado una columna - "No. de ocurrencia - Corregido".Que muestra los resultados correctos (deseados).

Re: Cómo recuperar un valor agregado (media / Max, etc.) basado en una columna agrupada en Formula o en For-LoopPuede calcular el 10% máximo directamente con la fórmula:
Col Max(:Data, :ID, :"Sub-set"n)*0.1
Todavía no estoy seguro de cómo se deben contar las ocurrencias, porque parece que nunca se restablece, pero podría retroceder 1 valor. Para verificar los valores de los valores de la columna de datos que están después de la "fila actual", puede usar Retraso (: Datos, - 1)

La regla que tiene se vería así como una fórmula:
If(:Data - Lag(:Data, -1) >= Abs(Col Max(:Data, :ID, :"Sub-set"n)) / 10,
1,
0
)
Re: Cómo recuperar un valor agregado (media / Max, etc.) basado en una columna agrupada en Formula o en For-LoopNo está trabajando. De alguna manera no puedo implementar - "Col Max (: Datos, Agrupar por {ID, Subconjunto})" algo como esto.
Puedo llamar al valor de la tabla de resumen a la fórmula de la columna de la tabla principal, es mejor que mi solución original.
Gracias.
Re: Cómo recuperar un valor agregado (media / Max, etc.) basado en una columna agrupada en Formula o en For-LoopSe me ocurrió una fórmula que parece funcionar .........

Hay una discrepancia con su número de ocurrencia: corregido.En la fila 32, creo que .13 - 08 da como resultado .05, que es mayor que .034, lo que debería aumentar el número de ocurrencias.

Su implementación de una ocurrencia adicional tampoco se aplica hasta que se descubre la fila posterior.Por lo tanto, el uso de su fórmula debe tener un pequeño truco para no aplicar el cambio hasta que se procese la siguiente fila.A continuación se muestra la fórmula que utilicé para la columna "Cálculo de Jim"
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: Cómo recuperar un valor agregado (media/máx., etc.) basado en una columna agrupada en Fórmula o en For-LoopHola @txnelson , Funcionó. muchas gracias.
Pocas cosas -
1. Su fórmula está funcionando. Pero está tomando "Número de ocurrencia" como entrada para "retener" en la fila número 2. ¿Hay alguna manera de que podamos pasar por alto esa columna? (¡Digamos que no tengo mi columna original "Número de ocurrencia"!). ¿Podemos obtener el número correcto de ocurrencias basándonos solo en las primeras 3 columnas? No quiero depender de esas columnas, si mañana encuentro algún otro tipo de falsa alarma, ¡no cubierto aquí!

2. ¿Qué es 'n' al lado de "Sub-set" -- "Sub-set"n ? Tampoco lo obtuve de la sugerencia de Jim. ¿Alguna referencia para ello?
3. En la Fila 32, la Ocurrencia debería aumentar. Cambié algunos valores manualmente y fue mi error.
Gracias de nuevo.