Die Codierungseigenschaft enthielt keine zwei ZahlenHallo,
Ich habe unten eine for-Schleife, die die Spalten durchläuft und jeder Spalte eine „Codierungs“-Eigenschaft zuweist. `all_cols` ist die Liste der relevanten Spalten. Die Funktion funktioniert – fast wie gewünscht. Die Codierungs-Eigenschaft wird korrekt zugewiesen, inklusive der Werte für `col min` und `col max`.
for( y = 1, y <= N Items( all_cols ), y++,
row() = y;
lims = Eval List( { col min( eval( all_cols[y] ) ), col max( eval( all_cols[y] ) ) } );
all_cols[y] << Set Property( "Coding", Expr( lims ) );
);
Im erweiterten Protokoll ist mir jedoch der Fehler „Coding property didn't have two numbers“ aufgefallen, der für jede Spalte in all_cols einmal auftritt. Ich habe nachgezählt.
Hier liegt das Problem. Später in meinem Skript wird die Standard-Kleinste-Quadrate-Schätzung durchgeführt. Sobald ich versuche, einen Effekt aus der Effektliste in der Effektübersicht zu entfernen, erscheint eine Fehlermeldung mit derselben Meldung (siehe unten). Wenn ich die Meldung über das „x“ in der oberen rechten Ecke schließe oder auf „OK“ klicke, erscheint sie immer wieder und blockiert die Nutzung von JMP, bis ich die JMP-Prozesse manuell beende.

Eine for each()-Funktion würde denselben Fehler erzeugen, sofern ähnliche JMP-Ausdrücke ausgewertet werden. Dies entspräche dem Markieren aller Spalten und dem anschließenden Ändern all ihrer Eigenschaften per Stapelverarbeitung über „Attribute standardisieren“.
Hat jemand eine Idee, was da vor sich geht und wie man es stoppen kann?
Qualitäts- und ProzessentwicklungBetreff: Codierungseigenschaft hatte keine zwei ZahlenDie Spalteneigenschaft „Codierung“ sieht im Dialogfeld „Spalteninfo“ korrekt aus, ist aber falsch. Ich habe das Datentabellenskript untersucht und festgestellt, dass das zweite Argument der Nachricht << Set Property() wörtlich zugewiesen wird. Der in gespeicherte Wert wird nicht verwendet Gliedmaßen . Sie müssen den Wert selbst ersetzen. Hier ist eine Möglichkeit, die funktioniert.
For( i = 1, i < N Col(), i++,
lims = Eval List( {Col Min( Eval( Column(i) ) ), Col Max( Eval( Column(i) ) )} );
Eval(
Substitute(
Expr( Column( i ) << Set Property( "Coding", ccc ); ),
Expr( ccc ), lims
)
)
);
Diese Eigenschaft wird automatisch hinzugefügt, wenn Sie in einer JMP DOE-Plattform auf Tabelle erstellen klicken. Warum müssen Sie diese Eigenschaft hinzufügen, nachdem die Tabelle erstellt wurde?
Betreff: Codierungseigenschaft hatte keine zwei Zahlenall_cols ist eine Liste von Spalten, die jedoch von der Schleife durchlaufen wird. Die Zeile, in der lims definiert ist, ruft lims mit Expr() auf.Hilft das?
Betreff: Codierungseigenschaft hatte keine zwei ZahlenHier noch weitere Hinweise zu diesem Thema:
- Mit << Get Property("Coding") für jede der Spalten in der Schleife werden die Wertepaare col min und col max erfolgreich zurückgegeben. Dadurch wird überprüft, ob die Eigenschaft richtig zugewiesen und Werte ausgefüllt wurden.
- Beim Isolieren des Codes für Set Property() in ein leeres Skript läuft es einwandfrei, keine Fehlermeldungen in den erweiterten Protokollen ... Lesen Sie jedoch weiter unten.
- Wenn Sie sich im Dialogfeld „Modell anpassen“ befinden, tritt der Fehler nach dem Ausführen von „Set Property()“ aus einem separaten Skript, wie oben erwähnt, weiterhin auf.

Betreff: Codierungseigenschaft hatte keine zwei ZahlenTun Sie dies, nachdem Sie Ihr Skript ausgeführt haben, um die Coding-Eigenschaft hinzuzufügen: Klicken Sie auf das rote Dreieck im Tabellenbereich in der oberen linken Ecke der Datentabelle und wählen Sie Tabellenskript kopieren aus. Öffnen Sie dann einen neuen Skript-Editor und fügen Sie das Skript ein. Untersuchen Sie die Set Property-Argumente. Sie sollten eine Liste mit zwei Zahlen für das zweite Argument sehen. Wenn nicht, dann ist Ihr Skript falsch.
Betreff: Codierungseigenschaft hatte keine zwei Zahlen
Hervorragender Fang!Das steht im Tabellenskript. Ich werde mit meiner Codierung herumspielen, um die erforderlichen Werte darin zu erhalten.Danke schön, @Mark_Bailey !
Ich werde diesen Thread offen halten, bis ich die Auflösung gepostet habe.
Betreff: Codierungseigenschaft hatte keine zwei ZahlenDies war eine einfache Lösung. Bestätigtes Arbeiten mit meinen Datensätzen!
for( y = 1, y <= N Items( all_cols ), y++,
row() = y;
lims = Eval List( { col min( eval( all_cols[y] ) ), col max( eval( all_cols[y] ) ) } );
Eval( Eval expr ( all_cols[y] << Set Property( "Coding", Expr( lims ) ) ) );
);