Aiuto con un'istruzione ifCiao,
Probabilmente mi manca qualcosa di base qui. Sto cercando di modificare i valori di una colonna utilizzando una combinazione di altri due valori di colonna. Digito quanto segue se l'istruzione e i valori della colonna non cambiano. Cosa mi manca qui? Grazie per eventuali suggerimenti e consigli.
Names Default To Here( 1 );
dt = Data Table( "20210811Miflezet_CAPCMP.jmp" );
dt << Begin Data Update;
If( :justice_decision_REC_RILE2 == "reject" & :RILE_Calc2a == "center"
,
:Rile_Calc3 == "center"
,
:justice_decision_REC_RILE2 == "accept" & :RILE_Calc2a == "center"
,
:Rile_Calc3 == "center"
,
:justice_decision_REC_RILE2 == "reject" & :RILE_Calc2a == "left"
,
:Rile_Calc3 == "right"
,
:justice_decision_REC_RILE2 == "accept" & :RILE_Calc2a == "left"
,
:Rile_Calc3 == "left"
,
:justice_decision_REC_RILE2 == "reject" & :RILE_Calc2a == "right"
,
:Rile_Calc3 == "left"
,
:justice_decision_REC_RILE2 == "accept" & :RILE_Calc2a == "right"
,
:Rile_Calc3 == "right"
);
dt << End Data Update;
Tabella datiScriptingRe: Aiuto con un'istruzione ifPuoi usare Per ogni riga o Imposta ogni valore. Di seguito è riportato un esempio:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
For Each Row(
If(:sex == "F",
:age = .
);
);
dt:weight << Set Each Value(
If(:sex == "M",
.,
:height
);
);Re: Aiuto con un'istruzione ifGrazie per la risposta! Come mostrano le varie guide di scripting, dovrebbe essere la cosa giusta ma non ha funzionato qui. Presumo che ci fosse qualcosa di sbagliato nella tabella dei dati e in tutte le elaborazioni che ho già fatto su queste variabili. Alla fine, la soluzione alternativa consisteva nel concatenare le due colonne nominali in una e quindi ricodificare le espressioni ottenute con i risultati desiderati. Grazie ancora.
Re: Aiuto con un'istruzione ifNel tuo JSL originale probabilmente (modifica: anche) vuoi cambiare
Rile_Calc3 == "center" // compare. the result of the compare (0 or 1) will be the result of the if(), see below
a
Rile_Calc3 = "center" // assign value
Le istruzioni JSL if restituiscono un valore; potresti scriverlo come
:Rile_Calc3 = If(
:justice_decision_REC_RILE2 == "reject" & :RILE_Calc2a == "center", "center",
:justice_decision_REC_RILE2 == "accept" & :RILE_Calc2a == "center", "center",
:justice_decision_REC_RILE2 == "reject" & :RILE_Calc2a == "left", "right",
:justice_decision_REC_RILE2 == "accept" & :RILE_Calc2a == "left", "left",
:justice_decision_REC_RILE2 == "reject" & :RILE_Calc2a == "right", "left",
:justice_decision_REC_RILE2 == "accept" & :RILE_Calc2a == "right", "right",
:Rile_Calc3 // or "Unknown" ? depends how you want to handle the unexpected case.
);
Se sai che non ci sono casi imprevisti, puoi omettere la clausola finale altrimenti. Ma la natura dei casi inaspettati è di presentarsi quando meno te lo aspetti.
Se segreti