Come posso condizionare un ciclo for affinché funzioni solo per un particolare set di righe?CIAO,
Sto cercando di manipolare una tabella dati con una formula, ma voglio che legga solo alcune righe.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Cars.jmp" );
r = Current Data Table() << Get rows where( :Make == "Mazda");
For( i = r[1], i <= r, i++,
:HeadIC[i] = :HeadIC[i]/2
);
Show(r);
Come faccio a fare in modo che l'iterazione venga eseguita solo per le righe selezionate?
Ricerca sui consumatori e sul mercatoPersonalizzazione di massaRi: Come condizionare un ciclo for affinché funzioni solo per un particolare insieme di righeCome questo?
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Cars.jmp" );
For Each Row( If ( :Make == "Mazda", :HeadIC = :HeadIC/2 ));
(E scusa per la formattazione, ma non sembra che questi pulsanti "inserisci script" funzionino mai...)
Ri: Come condizionare un ciclo for affinché funzioni solo per un particolare insieme di righeNel tuo esempio, dato che hai creato il vettore con i numeri di riga, puoi anche usare "For Each()".Questo sarebbe più veloce, specialmente per una tabella di dati più grande (con righe may).
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Cars.jmp" );
r = Current Data Table() << Get rows where( :Make == "Mazda");
for each({cr,ii}, r,
:headic[cr] = :headic[cr]/2
);
Ri: Come condizionare un ciclo for affinché funzioni solo per un particolare insieme di righePer favore, demistifica questo per me:
for each({cr,ii}, r,
:headic[cr] = :headic[cr]/2
);
// specifically, where do {cr,ii} come from and what do they do?
Non un programmatore. Impossibile trovarlo nell'indice di script. Non ho ancora controllato la Guida agli script.
Ri: Come condizionare un ciclo for affinché funzioni solo per un particolare insieme di righeCiao, non sono sicuro di come utilizzare quella funzione, non riesco a trovarla nell'indice di scripting, puoi mostrare un esempio? Quando provo a eseguire il codice che hai fornito, vengono visualizzati degli errori.
Ri: Come condizionare un ciclo for affinché funzioni solo per un particolare insieme di righeFor Each() è una nuova funzione introdotta in JMP16, quindi se stai usando una versione precedente di JMP non la troverai nell'indice di scripting (e darà un errore). Potresti convertirlo in ciclo for se volessi:
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Cars.jmp" );
r = Current Data Table() << Get rows where( :Make == "Mazda");
/*For Each({cr,ii}, r,
:headic[cr] = :headic[cr]/2
);*/
For(ii = 1, ii <= N Items(r), ii++,
cr = r[ii];
:headic[cr] = :headic[cr]/2;
);
Per ciascuno(nomi, contenitore, locali, corpo) (aiuto di jmp16)
Ri: Come condizionare un ciclo for affinché funzioni solo per un particolare insieme di righeÈ strano. Entrambi funzionano bene per me. Riprova a pubblicare il codice completo di ciascuna soluzione in una finestra di script separata. Chiudi tutto il resto. Esegui prima il codice da una finestra di script, confermando che il codice fa ciò che dovrebbe fare. Quindi, chiudi di nuovo tutto a parte l'altra finestra di script contenente il codice che devi ancora testare.