Probleme beim Konvertieren von Spalten von Zeichen in Zahlen<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo alle,
Dies ist mein erster Beitrag – ich versuche, die Datenverarbeitung zu automatisieren, indem ich Daten in Form von Excel-Tabellen erhalte … In der Arbeitsmappe gibt es eine Registerkarte mit allen relevanten Informationen.
JMP scheint viele Daten als Zeichen und nicht als Zahlen zu importieren, und ich kann die Daten manuell in der Tabelle (auf die übliche Weise) in Zahlen umwandeln, aber nicht mit einem Skript:
Irgendwelche Ideen?
Danke
Tom
Aktuelles Verzeichnis festlegen("C:\JDSU\ServerCopy\Data\Post-processing Characterization\Flash IV\AWSC");
dt=open(); // Dies ist die einzige Möglichkeit, die ich gefunden habe, um das relevante Arbeitsblatt „Daten sortieren“ in der XLS-Datei auswählen zu können
Tabellen = ntable();
OpenDTs = List();
savethis = list();
closethese = list();
show(dt);
/* Ich dachte, diese Schleife würde funktionieren, um die offenen Tabellen zu entfernen, die ich nicht möchte, aber sie schließt nur einige und nicht alle der unerwünschten Tabellen
for(i=1, i<=tables, i++,
Einfügen in( openDTs, Data Table(i)<
IF(Data table(i)<
Weitermachen();
close(DataTable(i));
);
);
*/
dt<
Spalte (1)<
Spalte (2)<
Spalte (3)<
//column ({3,4,5,6,7,8,9,10,11,12,13}) <
col = New COlumn("FF_Calc", numeric);
col<
col = NEUE Spalte ("xref", Zeichen);
col = neue Spalte ("yref", Zeichen);
Spalte("voc")<
Betreff: Probleme beim Konvertieren von Spalten von Zeichen in ZahlenSie müssen die Spaltenformeln „ausführen“, bevor Sie sie verwenden können. Fügen Sie diese Zeile vor die Anweisung „for each row“ ein:
dt << Formeln ausführen;
wobei dt auf Ihre Datentabelle verweist.
Betreff: Probleme beim Konvertieren von Spalten von Zeichenketten in numerische DatenTom, ich glaube, du solltest das im JMP-Forum erneut posten.
Kunst
Betreff: Probleme beim Konvertieren von Spalten von Zeichenketten in numerische DatenEin Beispiel für die korrekte Syntax zum Umwandeln einer Zeichenspalte in eine numerische Spalte:
Spalte("voc") << Datentyp( numerisch );
column("voc") << Modeling Type( continuous ); // wenn Sie den kontinuierlichen Modellierungstyp wünschen
oder
dt:voc << etc...
Es sieht so aus, als ob in Ihrer "if"-Anweisung nach "continue" ein Komma fehlen würde...
Betreff: Probleme beim Konvertieren von Spalten von Zeichenketten in numerische DatenVielen Dank.
Haben Sie eine Ahnung, warum eine for each row()-Schleife einwandfrei funktioniert, wenn ich sie durch Markieren und anschließendes Drücken von Strg+R im JSL-Fenster ausführe, aber nicht funktioniert, wenn sie als Teil des gesamten Skripts ausgeführt wird?
col = New COlumn("FF_Calc", numeric) << Modeling Type ( continuous );
Spalte<
Neue Spalte("xref", Zeichen, Ordinal, Formel(Wenn(Rechts(Links(:Name("Xref-Yref"), 2), 1) == "-", Links(:Name("Xref-Yref"), 1), Links(:Name("Xref-Yref"), 2))), Eigenschaft festlegen("Wertreihenfolge", {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"}));
Neue Spalte("yref", Zeichen, Ordinal, Formel(Wenn(Links(Rechts(:Name("Xref-Yref"), 2), 1) == "-", Rechts(:Name("Xref-Yref"), 1), Rechts(:Name("Xref-Yref"), 2))), Eigenschaft festlegen("Wertreihenfolge", {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"}));
für jede Zeile (
if(:FF_Calc < 0, rowstate() = excluded state(1), :FF_calc > 1, rowstate() = excluded state(1), rowstate() = excluded state(0)
);
);
für jede Zeile (
if(dt:FF_Calc < 0, rowstate() = excluded state(1), dt:FF_Calc > 1, rowstate() = excluded state(1), rowstate() = excluded state(0)
);
); // Beides funktioniert im Skript nicht, aber manuell ausgeführt funktionieren sie einwandfrei. Muss ich die Tabelle auswählen oder so etwas Ähnliches?
Betreff: Probleme beim Konvertieren von Spalten von Zeichenketten in numerische DatenBingo!
Vielen Dank!
Betreff: Probleme beim Konvertieren von Spalten von Zeichenketten in numerische DatenWarum funktioniert es nicht? Erhalten Sie eine Fehlermeldung oder nur ein falsches Ergebnis?
Die Spaltenvariable `col` ist nicht korrekt zugewiesen. Sie müssen die Modellierungstyp-Nachricht entweder in einer separaten Anweisung oder innerhalb von `New Column()` senden. Nach der Zuweisung können Sie `col` anstelle von `:FF_Calc` verwenden.
Z.B
col = Neue Spalte ( "FF_Calc" , numeric , continuous ) ;
col << set values ( { - 1 , 0 , 1 , 2 } ) ;
Für jede Zeile (
Wenn(
Spalte < 0 , Zeilenstatus () = Ausgeschlossener Staat ( 1 ) ,
Spalte > 1 , Zeilenstatus () = Ausgeschlossener Staat ( 1 ) ,
Zeilenstatus () = Ausgeschlossener Staat ( 0 )
)
);