Esecuzione del conteggio dei valori ripetuti JSL Script-Part2<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Sono contento che qualcuno sia uscito con questa domanda contando giorni prima, tuttavia, vorrei fare un ulteriore passo avanti per porre una domanda simile a quella che molte linee di produzione / produzione potrebbero incontrare.
Usando lo stesso esempio di colore, con prodotti a colori diversi come rosso, blu, verde, giallo, bianco. Usando lo script count_color possiamo calcolare direttamente il conteggio per ogni colore.
Quindi, se ho intenzione di accumulare 5 conteggi dello stesso prodotto di colore in una scatola come unità di spedizione. Quando un determinato prodotto a colori raggiunge la sua massima capacità di boxe, il prodotto in arrivo con lo stesso colore reimposta automaticamente il conteggio a 1. Per distinguere la sequenza di produzione di ogni scatola che contiene lo stesso colore di produzione, la colonna Box deve contenere un formato come RED-1, RED-2, ....
Un altro vincolo è il conteggio dei caratteri necessari per distinguere / ordinare il prodotto creato in cui Shift (giorno o notte). Si prega di fare riferimento alla tabella qui sotto.
Spero che un utile script jsl possa essere progettato per aiutare a soddisfare questo tipo di richiesta per la generazione della colonna count_color e della colonna Box.
Grazie
| colore | count_color | Cambio | Scatola |
|---|
| ..... | ..... | | |
| ROSSO | 4 | NOTTE | RED-4 |
| ROSSO | 5 | NOTTE | RED-4 |
| ROSSO | 1 | GIORNO | RED-1 |
| ROSSO | 2 | GIORNO | RED-1 |
| BLU | 1 | NOTTE | BLUE-3 |
| GIALLO | 1 | GIORNO | GIALLO-2 |
| BLU | 2 | NOTTE | BLUE-3 |
| VERDE | 1 | NOTTE | GREEN-2 |
| ROSSO | 3 | GIORNO | RED-1 |
| BLU | 1 | GIORNO | BLU-1 |
| VERDE | 1 | NOTTE | GREEN-2 |
| BIANCA | 1 | NOTTE | WHITE-1 |
| BIANCA | 1 | GIORNO | WHITE-1 |
| ROSSO | 4 | GIORNO | RED-1 |
| ROSSO | 5 | GIORNO | RED-1 |
| ROSSO | 1 | GIORNO | RED-2 |
| BLU | 3 | NOTTE | BLUE-3 |
| GIALLO | 2 | GIORNO | GIALLO-2 |
| ROSSO | 1 | NOTTE | RED-1 |
Ri: Esecuzione del conteggio dei valori ripetuti JSL Script-Part2Grazie, MS.
Ri: Esecuzione del conteggio dei valori ripetuti JSL Script-Part2La mia formula fornisce il risultato previsto se la incolli nell'editor di formule. Per aggiungerlo per script, come sembra che tu abbia fatto, devi usare il trucco NameExpr () per assicurarti che l'espressione non venga valutata prima di entrare nella proprietà della formula (cfr. questo recente blog ). Se osservate la formula nella colonna MS_Box_Script noterete che non è ciò che ho postato sopra.
dt = Tabella dei dati corrente () ;
dt << Nuova colonna ( "Il vero MS_Box_Script" ,
Formula ( Nome Espr ( Eval ( Eval Espr ( : colore || "-" || carbonizzare ( Soffitto ( Col Sum ( Riga () <= expr ( Riga ()) , : colore , : Cambio ) / 5 ))))))
) ;
Ri: Esecuzione del conteggio dei valori ripetuti JSL Script-Part2Grazie, funziona alla grande!
Ri: Esecuzione del conteggio dei valori ripetuti JSL Script-Part2Ciao MS,
Grazie per aver scritto lo script per me!
Tuttavia, lo script che hai scritto non funziona come escluso.
Il design è quello di avere un box store 5 (max) prodotto dello stesso colore, quindi un nuovo! vuoto verrà a memorizzare lo stesso prodotto a colori in arrivo. T La descrizione del box, anche per la memorizzazione dello stesso prodotto a colori, dovrebbe passare da 1 a 2 o 2 a 3, come n + 1. Tuttavia, lo script fornito fornisce tutti lo stesso numero di casella per lo stesso colore.
Lo script Box che ho usato fornito da te è
dt = Current Data Table ();
dt << Nuova colonna ("MS_Box_Script",
Numerico,
"Continuo",
Formato ("Migliore", 4),
Formula (Eval (Eval Expr (: color || "-" || Char (Ceiling (Col Sum (Row () <= Expr (Row ()),: color,: Shift) / 5) +1))))) );
Ho allegato il file di esempio, la colonna "Risultato casella esclusa" dovrebbe essere il risultato che lo script dovrebbe essere in grado di eseguire.
Puoi aiutare con questo? Grazie molto,
| Colore | Cambio | Casella Esclusa Risultato | MS_Box_Script |
| BLU | GIORNO | BLU-1 | BLU-1 |
| BLU | GIORNO | BLU-1 | BLU-1 |
| BLU | GIORNO | BLU-1 | BLU-1 |
| BLU | NOTTE | BLU-1 | BLU-1 |
| BLU | NOTTE | BLU-1 | BLU-1 |
| BLU | NOTTE | BLU-1 | BLU-1 |
| BLU | NOTTE | BLU-1 | BLU-1 |
| VERDE | GIORNO | GREEN-1 | GREEN-1 |
| VERDE | GIORNO | GREEN-1 | GREEN-1 |
| VERDE | GIORNO | GREEN-1 | GREEN-1 |
| VERDE | GIORNO | GREEN-1 | GREEN-1 |
| VERDE | GIORNO | GREEN-1 | GREEN-1 |
| VERDE | GIORNO | GREEN-2 | GREEN-1 |
| VERDE | GIORNO | GREEN-2 | GREEN-1 |
| VERDE | GIORNO | GREEN-2 | GREEN-1 |
| VERDE | NOTTE | GREEN-1 | GREEN-1 |
| ROSSO | GIORNO | RED-1 | RED-1 |
| ROSSO | GIORNO | RED-1 | RED-1 |
| ROSSO | GIORNO | RED-1 | RED-1 |
| ROSSO | GIORNO | RED-1 | RED-1 |
| ROSSO | GIORNO | RED-1 | RED-1 |
| ROSSO | GIORNO | RED-2 | RED-1 |
| ROSSO | GIORNO | RED-2 | RED-1 |
| ROSSO | GIORNO | RED-2 | RED-1 |
| ROSSO | NOTTE | RED-1 | RED-1 |
| ROSSO | NOTTE | RED-1 | RED-1 |
| ROSSO | NOTTE | RED-1 | RED-1 |
| ROSSO | NOTTE | RED-1 | RED-1 |
| ROSSO | NOTTE | RED-1 | RED-1 |
| GIALLO | GIORNO | GIALLO-1 | GIALLO-1 |
| GIALLO | GIORNO | GIALLO-1 | GIALLO-1 |
| GIALLO | GIORNO | GIALLO-1 | GIALLO-1 |
| GIALLO | NOTTE | GIALLO-1 | GIALLO-1 |
| GIALLO | NOTTE | GIALLO-1 | GIALLO-1 |
| GIALLO | NOTTE | GIALLO-1 | GIALLO-1 |
| GIALLO | NOTTE | GIALLO-1 | GIALLO-1 |
| GIALLO | NOTTE | GIALLO-1 | GIALLO-1 |
| GIALLO | NOTTE | GIALLO-2 | GIALLO-1 |
| GIALLO | NOTTE | GIALLO-2 | GIALLO-1 |
Ri: Esecuzione del conteggio dei valori ripetuti JSL Script-Part2Ottima formula! Penso che questo funzionerebbe per il Box:
Eval ( Eval Espr ( : colore || "-" || carbonizzare ( Soffitto ( Col Sum ( Riga () <= expr ( Riga ()) , : colore , : Cambio ) / 5 ))) )
Ri: Esecuzione del conteggio dei valori ripetuti JSL Script-Part2Basandosi su quello che hanno fatto l'altro giorno.
Se (Mod (Eval (Eval Expr (Col Sum (Row () <= Expr (Row ()),: Color,: Shift))), 5),
Mod (Eval (Eval Expr (Col Sum (Row () <= Expr (Row ()),: Color,: Shift))), 5),
5
)
* Modifica * o
Mod (Eval (Eval Expr (Col Sum (Row () <= Expr (Row ()),: Color,: Shift))) - 1, 5) + 1