Anfangen JMP 16 , stellt JMP die Förderung der Parser-Direktive Name() ein, die üblicherweise zum Verweisen auf Variablennamen verwendet wird, die gegen typische Syntaxregeln verstoßen Namen im JMP.
Diese Änderung erfolgt als Reaktion auf viele Kundenbeschwerden, dass die Syntax, Anwendungsfälle und Funktionalität der Parser-Direktive Name() verwirrend seien.
Stattdessen, JMP wird sich für die Verwendung einer neuen Syntaxform einsetzen, bei der der Name als Zeichenfolge in Anführungszeichen gesetzt wird und dem das Zeichen „n“ folgt.
Hier sind einige Beispiele für Variablennamen und Spaltennamen mit unzulässigen Zeichen und wie sie mit der alten Parser-Direktive Name() im Vergleich zur neuen Syntax referenziert werden:
Alt:
Name( "taxable income( 2011 )" ) = 456000;
tax = .25;
Print( tax * Name( "taxable income( 2011 )") );
//114000
Neu:
"taxable income( 2011 )"n = 456000;
tax = .25;
Print( tax * "taxable income( 2011 )"n) ;
//114000
Alt:
dt = Open("$SAMPLE_DATA/Body Fat.jmp");
dt:Name("Age(years)") << Set Modeling Type(Ordinal);
Neu:
dt = Open("$SAMPLE_DATA/Body Fat.jmp");
dt:"Age(years)"n << Set Modeling Type(Ordinal);
Um etwaige Unklarheiten auszuräumen: Diese neue Syntax wurde vor einigen Versionen zu JMP hinzugefügt. Wenn Sie möchten, können Sie vorerst weiterhin die klassische Parser-Direktive Name() verwenden. Da Name() jedoch veraltet ist, wird dies der Fall sein letztlich werden in einer zukünftigen Version von JMP entfernt und nicht mehr erkannt. In JMP 16 wird die neue Syntax dokumentiert und in von JMP generierten Skripten verwendet.
Bedenken Sie, dass es in den meisten Fällen möglicherweise einfacher ist, Funktionen wie Column() und As Column() zu verwenden, um Datentabellenspalten als Zeichenfolgen zu referenzieren, aber die Syntax „colName“n ist eine großartige Option für Variablennamen, die fehlerhaft sind die typischen Syntaxregeln.
Beispiele für die Verwendung von Column() und As Column() zur Referenzierung von „Alter(Jahre)“:
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);
);
Bitte wenden Sie sich an Technischer JMP-Support wenn Sie Fragen oder Bedenken haben!