A partire da JMP 16 , JMP cessa di promuovere la direttiva parser Name () comunemente usata per fare riferimento a nomi di variabili che infrangono le regole di sintassi tipiche per Nomi in JMP.
Questa modifica arriva in risposta a molti reclami dei clienti che la sintassi, i casi d'uso e la funzionalità per la direttiva del parser Name () erano confusi.
Anziché, JMP sosterrà l'uso di una nuova forma di sintassi con il nome citato come stringa e seguito dal carattere "n".
Di seguito sono riportati un paio di esempi di nomi di variabili e nomi di colonne con caratteri non validi e di come vengono referenziati con la vecchia direttiva parser Name () rispetto alla nuova sintassi:
Vecchio:
Name( "taxable income( 2011 )" ) = 456000;
tax = .25;
Print( tax * Name( "taxable income( 2011 )") );
//114000
Nuovo:
"taxable income( 2011 )"n = 456000;
tax = .25;
Print( tax * "taxable income( 2011 )"n) ;
//114000
Vecchio:
dt = Open("$SAMPLE_DATA/Body Fat.jmp");
dt:Name("Age(years)") << Set Modeling Type(Ordinal);
Nuovo:
dt = Open("$SAMPLE_DATA/Body Fat.jmp");
dt:"Age(years)"n << Set Modeling Type(Ordinal);
Per chiarire qualsiasi confusione, questa nuova sintassi è stata aggiunta a JMP alcune versioni fa e, se preferisci, puoi ancora utilizzare la classica direttiva del parser Name () per il momento. Tuttavia, poiché Name () è deprecato, lo farà infine essere rimosso in una versione futura di JMP e non più riconosciuto. In JMP 16, la nuova sintassi è documentata e utilizzata negli script generati da JMP.
Tieni presente che, nella maggior parte dei casi, potrebbe essere più facile utilizzare funzioni come Column () e As Column () per fare riferimento alle colonne della tabella di dati come stringhe, ma la sintassi "colName" n è un'ottima opzione per i nomi di variabili che si interrompono le regole di sintassi tipiche.
Esempi di utilizzo di Colonna () e Come colonna () per fare riferimento a "Età (anni)":
dt = Open("$SAMPLE_DATA/Body Fat.jmp");
//Change the modeling type of "Age(years)" column
Column(dt,"Age(years)") << Set Modeling Type(Ordinal);
//Add 10 years to each age
For Each Row(dt,
age10 = As Column("Age(years)") + 10;
Show(age10);
);
Si prega di contattare Supporto tecnico JMP se hai domande o dubbi!