Ho un elenco indicizzato dei cicli di produzione di diversi prodotti (AH) e dei relativi orari di inizio e fine. A volte ci sono due righe di fila con lo stesso prodotto (righe 1 e 2 e 7 e 8) e vorrei che fossero combinati in un'unica riga con l'ora di inizio della prima riga e l'ora di fine della seconda riga. Come utilizzerei JSL per fare questo?

Penso che questo dovrebbe fare quello che vuoi.
Aggiungi una nuova colonna (numerica) alla tua tabella per calcolare i "gruppi" con una formula simile
If(Row() == 1,
counter = 0;
);
If(:Product != Lag(:Product),
counter++;
);
counter;
Then you can use Summary table to perform the min/max part</CODE></P>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jthi_1-1713458056939.png" style="width: 999px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_1-1713458056939.png" style="width: 999px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_1-1713458056939.png" style="width: 999px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_1-1713458056939.png" style="width: 999px;"><span class="lia-inline-image-display-wrapper" image-alt="jthi_1-1713458056939.png" style="width: 999px;"><img src="https://us.v-cdn.net/6038925/uploads/images/63473i931158173607E606/jthi_1-1713458056939.png" role="button" title="jthi_1-1713458056939.png" alt="jthi_1-1713458056939.png" /></span></SPAN></SPAN></SPAN></SPAN></P>
<P>Rimuovi e riordina le colonne dalla tabella di riepilogo secondo necessità</P>
<P> </P>
<P>Ecco uno script di Enhanced Log per eseguire tali azioni</P>
<P> </P>
<PRE><CODE class=" language-jsl">// Open Data Table: Run Time Index.jmp
// → Data Table("Run Time Index")
Open("$DOWNLOADS/Run Time Index.jmp");
// New column: R
Data Table("Run Time Index") << New Column("R",
Numeric,
"Continuous",
Format("Best", 12),
Formula(
If(Row() == 1, counter = 0);
If(:Product != Lag(:Product),
counter
++);
counter;
)
);
// Data table summary
// → Data Table("Run Time Index By (R, Product)")
Data Table("Run Time Index") << Summary(
Group(:R, :Product),
Min(:Run Index),
Min(:Start),
Max(:End),
Freq("None"),
Weight("None"),
statistics column name format("column"),
Link to original data table(0)
);
// Delete columns
Data Table("Run Time Index By (R, Product)") << Delete Columns(:R, :N Rows);
// Move selected column: Run Index
Data Table("Run Time Index By (R, Product)") << Move Selected Columns({:Run Index}, To First);
// Change column modeling type: Run Index
Data Table("Run Time Index By (R, Product)"):Run Index << Set Modeling Type("Ordinal");