Betreff: Warnung: Vermeiden Sie Bindestriche in Spaltennamen!JMP hat in seiner Syntax den Weg eingeschlagen, um so wenige "Sonderzeichen" oder "eingeschränkte" Zeichen bei der Benennung von Variablen oder Spalten usw. zu haben.Das Endergebnis ist, dass es möglich ist, dass JMP einen Variablen- oder Spaltennamen als mathematischen Ausdruck und nicht als qualifizierten Namen interpretiert.Daher,
Col-1
würde als Variable namens "Col" minus 1 ausgewertet werden.
JMP verfügt über eine Syntax, die eine korrekte Interpretation ermöglicht.
:"Col-1"n
teilt JMP mit, dass dies ein Spaltenname ist und der Spaltenname "Col-1" ist.
Ihr Mean()-Funktionsbeispiel ist codiert als
Mean( :"Col-1"n, :"Col-2"n );
Betreff: Warnung: Vermeiden Sie Bindestriche in Spaltennamen!Etwas Dokumentation Names() (veraltet) , Skriptleitfaden > JSL-Bausteine > JSL-Syntaxregeln > Namen
Betreff: Warnung: Vermeiden Sie Bindestriche in Spaltennamen!Mmmhh... OK.
Hier ist jedoch, was ich im Formeleditor für das zweite Beispiel finde:
Mean( As Column( "Col-2" ), As Column( "Col-1" ) )
Was ist also der Unterschied zwischen As Column(colname) und :"colname"n?
Was bedeutet das n am Ende?
Ich denke, dass eine solche Regel über Spaltennamen PAGE 1 aller Tutorials zu JMP-Tabellen sein sollte, aber es gibt keine solche Art von Tutorials, die ich gesehen habe.
Betreff: Warnung: Vermeiden Sie Bindestriche in Spaltennamen!Kümmern Sie sich nicht um das "n", es wird unter den folgenden Links erklärt.
Betreff: Warnung: Vermeiden Sie Bindestriche in Spaltennamen!Haben Sie die Formel interaktiv erstellt oder als Skript eingegeben?
Ich konnte Ihre Ergebnisse (in JMP 17.1) nicht durch ein interaktives Erstellen der Formel reproduzieren. Ich habe versucht, die Variablen aus der Spaltenliste in die Mean-Funktion zu ziehen, und habe Folgendes erhalten:

Und die Berechnung war korrekt (die JSL hinter der interaktiven war
Mean(:"Col-1"n, :"Col-2"n)
). Ich habe es auch versucht, indem ich die Kästchen in der Mittelwertformel ausgewählt und dann die Variablen aus der Variablenliste ausgewählt habe. Das hat auch funktioniert.
Wenn Sie den Code eingeben, müssen Sie, wie bereits erwähnt, sicherstellen, dass Sie den Spaltennamen richtig angeben. Interaktiv scheinen die Namen kein Problem zu sein.
Betreff: Warnung: Vermeiden Sie Bindestriche in Spaltennamen!Hallo Dan,
Ich verwende JMP 17.0.0 (622753).
Ich habe zwei Spalten mit den Namen Col-1 und Col-2. Gehen Sie zu Neue Spalte, Eigenschaften, Formel, Formel bearbeiten.
Wählen Sie Statistik > Mittelwert aus. Im Formeleditor sehe ich Mean() mit einem blauen Kästchen darin. Jetzt wähle ich beide Spalten aus und ziehe sie in das Feld (+ Zeichen erscheinen). Wenn ich loslasse, erhalte ich das Dialogfeld Parse Errors.
Ich kann dann den Fehlerdialog schließen und die Box im Skriptmodus manuell bearbeiten.
Wollen Sie damit sagen, dass Sie den Parse-Fehler in JMP 17.1 nicht erhalten?
Betreff: Warnung: Vermeiden Sie Bindestriche in Spaltennamen!Ich glaube, dass ich alle Ihre Schritte befolgt habe und das Dialogfeld „Analysefehler“ nicht angezeigt wird. Vielleicht behebt ein Upgrade auf 17.1 Ihr Problem.
Betreff: Warnung: Vermeiden Sie Bindestriche in Spaltennamen!OK, ich habe jetzt auf JMP 17.1 aktualisiert und kann bestätigen, dass dieser böse Fehler behoben wurde.
Keine Erwähnung in den Release Notes von 17.1 (Schande über SAS).
Das ist also die Lösung. Man sollte sich dieses Problems mit Spaltennamen immer noch bewusst sein.
Warnung: Vermeiden Sie die Verwendung von Bindestrichen in Spaltennamen!Das kommt größtenteils unerwartet und es hat eine Weile gedauert, bis ich es herausgefunden habe.
Wenn Sie Bindestriche ('-') in Spaltennamen verwenden, können schlimme Dinge passieren.
Betrachten Sie den folgenden Fall: Sie möchten den Mittelwert zweier Spalten berechnen. Sie öffnen also den Formeleditor, wählen „Statistik“ > „Mittelwert“ und versuchen dann, die Spalten in die Klammern zu ziehen. In JMP16 funktionierte das früher einwandfrei. In JMP17 haben sich die Dinge meiner Meinung nach etwas geändert.
Versuchen Sie dies nun mit den Spaltennamen Col-1 und Col-2 bzw. Col_1 und Col_2. Mit dem Unterstrich können Sie Kommas zwischen der Spalte verwenden und die Formel sieht dann wie folgt aus:

Versuchen Sie nun dasselbe für die Spalten mit Bindestrichen im Namen. Zunächst erscheint ein Parsing-Fehler. Sie können dann versuchen, die Spaltennamen in doppelte Anführungszeichen zu setzen. Es ist schwierig, aber wenn Sie die richtige Beschwörungsformel anwenden, erhalten Sie am Ende eine Formel, die so aussieht:

Zu diesem Zeitpunkt ist der Mittelwert korrekt berechnet.
Es ist jedoch NICHT dasselbe. Dies bricht beispielsweise ab, wenn Sie versuchen, mit Profiled eine Funktion basierend auf vorhergesagten Formeln zu berechnen. Auch wenn Sie die Option „Zwischenformeln erweitern“ aktivieren, wird dies mit einer Fehlermeldung über fehlende Faktoren fehlschlagen. Es funktioniert, wenn der Spaltenname keine Bindestriche enthält!
Ich denke, das ist eindeutig ein Fehler, und zwar ein böser.
DatenzugriffDatenmischung und -bereinigungQualitäts- und Verfahrenstechnik