Incrementa un valore per Run NumberSto cercando di sviluppare una formula che aumenti il numero di serie. Dovrebbe contare ogni volta che un ordine del negozio ha un nuovo ID processo e reimpostare a 1 quando un nuovo ordine del negozio non è stato eseguito prima. Come mostrato di seguito, l'ordine del negozio 532 ha 3 diversi ID processo, ma non sono in ordine, quindi aumenta fino a 3 su quello finale anche se non è in ordine. Ho creato manualmente una colonna che mostra ciò che vorrei come risultato ideale per la colonna formula. Come scriverei una formula per affrontare questo problema?

Tabella datiScriptingRi: Incrementa un valore per Run NumberEcco una formula che puoi usare.Crea la nuova colonna Esegui #.Ti suggerisco di realizzare il tipo di modellazione "Ordinal".Apri l'Editor delle formule per la nuova colonna e incolla quanto segue.
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");
);
Di seguito è riportato uno script che eseguirà la creazione della colonna e applicherà la formula per te
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 );
)
);Ri: Incrementa un valore per Run NumberGrazie per questo. Non fa esattamente quello che cerco. Vedere la mancata corrispondenza tra la "Colonna Risultato ideale per la serie n." E la "Serie n.". Il modo in cui la formula sta attualmente funzionando sta solo aumentando, indipendentemente dal fatto che venga avviato un nuovo SO.

Ri: Incrementa un valore per Run NumberMi dispiace, ho perso il collegamento con Shop Order.Questo cambia tutto e rende la formula molto più semplice
If( Row() == 1 | :Shop Order != Lag( :Shop Order ),
count = 1,
If( :Process ID != Lag( :Process ID ),
count
++)
);
count;