Ante todo... Soy muy nuevo en la creación de scripts y ahora mismo estoy trabajando en el editor de fórmulas. Estoy tratando de hacer algo que pensé que sería bastante simple ...
Tengo dos columnas de datos. La primera columna tiene valores de estado que son los mismos durante un período de tiempo y luego cambiarán y volverán a ser constantes durante un período de tiempo. Por ejemplo...
APAGADO
APAGADO
APAGADO
APAGADO
APAGADO
EN
EN
EN
etc.
En la segunda columna, me gustaría incrementar un número cada vez que cambia el estado. Entonces, en el ejemplo anterior, los APAGADOS serían 1, los ENCENDIDOS serían 2, el siguiente conjunto de APAGADOS sería 3, etc.
En este momento estoy configurando una declaración condicional algo como esto ...
Si (: Estado C1 [ Hilera ()] ==: Estado C1 [ Hilera () + 1 ],
:X,
: x =: x + 1
)
Donde C1 Status es la fila OFF / ON. Configuré x como una variable de tabla inicialmente igual a 1,
Pero recibo algún tipo de advertencia de ciclo y no aumenta.
Cualquier ayuda sería apreciada.
Hola Scott,
Tiendo a usar la función LAG para este tipo de operación como se muestra a continuación:
If( Row() == 1,
1,
If( :C1== Lag( :C1, 1 ),
Lag( :PERIOD, 1 ),
Lag( :PERIOD, 1 ) + 1
)
)
No es tan elegante pero es confiable.
Mejor,
TS