Incrementar un valor para el número de ejecuciónEstoy tratando de desarrollar una fórmula que incremente el número de ejecución. Debe contar cada vez que una orden de compra tiene un nuevo ID de proceso y restablecerse a 1 cuando una nueva orden de tienda no se ha ejecutado antes. Como se muestra a continuación, el Pedido de tienda 532 tiene 3 ID de proceso diferentes, pero no están en orden, por lo que aún aumenta hasta 3 en el último aunque no esté en orden. Creé una columna que mostraba manualmente lo que me gustaría como resultado ideal para la columna de fórmula. ¿Cómo escribiría una fórmula para abordar este problema?

Tabla de datosScriptingRe: Incrementar un valor para Run NumberAquí hay una fórmula que puede utilizar.Cree la nueva columna Ejecutar #.Le sugiero que haga el modelo de tipo "Ordinal".Abra el Editor de fórmulas para la nueva columna y pegue lo siguiente.
If( Row() == 1,
:Process ID << set property( "Value Order", {Common Order( 0 ), Row Order Levels( 1 )} );
Summarize( byGroup = by( :Process ID ) );
:Process ID << delete property("Value Order");
);
A continuación se muestra un script que hará la creación de la columna y aplicará la fórmula por usted
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Run #",
ordinal,
formula(
If( Row() == 1,
:Process ID << set property( "Value Order", {Common Order( 0 ), Row Order Levels( 1 )} );
Summarize( byGroup = by( :Process ID ) );
:Process ID << delete property("Value Order")
);
Contains( byGroup, :Process ID );
)
);Re: Incrementar un valor para Run NumberGracias por esto. No hace exactamente lo que estoy buscando. Vea la falta de coincidencia entre la "Columna de resultado ideal para el número de ejecución" y el "N.º de ejecución". La forma en que la fórmula está funcionando actualmente está aumentando sin importar si se inicia un nuevo SO.

Re: Incrementar un valor para Run NumberLo siento, perdí el enlace con el pedido de la tienda.Eso lo cambia todo y hace que la fórmula sea mucho más sencilla.
If( Row() == 1 | :Shop Order != Lag( :Shop Order ),
count = 1,
If( :Process ID != Lag( :Process ID ),
count
++)
);
count;