So konvertieren Sie den Spaltendatentyp von Zeichen in Numerisch, ohne dass numerische Werte in der Spalte verloren gehenLieber S,
Begonnen mit JMP vor ein paar Wochen !! Es ist eine naive Frage.
Ich versuche, einen Spaltendatentyp von Character in Numeric umzuwandeln, aber ich verliere alle numerischen Werte aus der Spalte, während ich den Datentyp in Numeric umwandele.
Bitte finden Sie die beigefügten Screenshots für dasselbe.
Wie kann ich die numerischen Werte einer Spalte beibehalten, wenn ich den Datentyp von Character in Numeric ändere?
Versucht, die Zeichen mit den folgenden Befehlen zu ersetzen,
values1 = dt:RequiredColumn<
Regex( :RequiredColumn, "[^0-9]", "", GLOBALREPLACE );
dabei werden auch alle numerischen Werte ersetzt.
Ich möchte einfach die numerischen Werte aus der Spalte beibehalten (ursprünglich im Zeichendatentyp). Bei der Suche nach diesem Problem in unserer Community konnten keine relevanten Informationen darüber gefunden werden.
Picture01 - OriginalColumnFormat - Screenshot des ursprünglichen Datentyps von Column
Picture02 – ColumnafterChangingDatatype – Screenshot von Column nach dem Ändern des Datentyps in Numerisch.
Danke im Voraus...
DatentabelleSkripterstellungFensterBetreff: Wie man den Spaltendatentyp von Zeichen in Numerisch umwandelt, ohne dass numerische Werte in der Spalte verloren gehenEs gibt wahrscheinlich mehrere Möglichkeiten, um das zu erreichen, was Sie wollen, und ich wette, jemand (z. B. Jim) hat ein Skript, um es effizienter zu machen, aber hier ist ein möglicher Arbeitsablauf:
Übrigens, Ihre JPGs erlauben uns nicht zu sehen, wie die Zeichenspalten aussehen, die Sie ändern möchten. Wenn es Zeichen gibt, die nicht numerisch sind, müssen diese behandelt werden, bevor Sie den Datentyp ändern.
1. Klicken Sie mit der rechten Maustaste auf die Spalte und verwenden Sie Recode. Entfernen Sie alle nicht numerischen Werte.
2. Klicken Sie dann mit der rechten Maustaste und wählen Sie Spalteninfo. (wie die jpgs). Ändern Sie den Datentyp von Zeichen in numerisch und den Modellierungstyp in kontinuierlich.
Betreff: Wie man den Spaltendatentyp von Zeichen in Numerisch umwandelt, ohne dass numerische Werte in der Spalte verloren gehenJMP sollte alle Werte konvertieren, die korrekte Darstellungen von numerischen Werten sind.Deswegen,
1.6.1, V1.6 sollten in einen fehlenden Wert konvertiert werden, da es sich nicht um gültige Zahlenwerte handelt.
Allerdings sollten -1,00, 5,00 und -15,000 umgerechnet werden.
Führen Sie bitte das folgende Skript aus, um zu sehen, ob Ihre Daten versteckte Zeichen enthalten, die möglicherweise ein Problem verursachen.
show(:MeasuredValues[6],char to hex(:MeasuredValues[6]);
Das Skript zeigt die Hex-Werte für den Wert in der 6. Zeile Ihrer Datentabelle an.Wenn die -1,00 nicht in der 6. Zeile ist, ändern Sie die 6 in die Zeilennummer für eine der Zeilen, in der die Zeichendarstellung ein gültiger numerischer Wert zu sein scheint, die Zelle jedoch in einen fehlenden Wert geändert wird.
Es wäre auch sehr nützlich, wenn Sie eine Beispieldatentabelle anhängen könnten, die nur die Spalte MeasuredValues enthält.
Betreff: Wie man den Spaltendatentyp von Zeichen in Numerisch umwandelt, ohne dass numerische Werte in der Spalte verloren gehenLieber Statmann,
Vielen Dank für Ihre rechtzeitige Antwort.
Ich habe Ihren Vorschlag ausprobiert, indem ich nicht numerische Werte mit der Option Recode aus der Spalte entfernt und versucht habe, den Datentyp der Spalten von Zeichen in Numerisch zu konvertieren. Allerdings verschwinden nach wie vor alle Werte, wenn der Datentyp auf Numerisch geändert wird.
Bitte finden Sie die beigefügten Screenshots für dasselbe.
In der Recodierungsoption war JMP in der Lage, numerische Werte und Zeichenketten zu unterscheiden.
Werde das Ergebnis von Herrn JIMs Vorschlag bald posten.
Danke..
Betreff: Wie man den Spaltendatentyp von Zeichen in Numerisch umwandelt, ohne dass numerische Werte in der Spalte verloren gehenLieber Jim.
Ich habe versucht, das Skript für die Nummer in der 6. Zeile auszuführen, bevor ich es in Numerisch konvertiert habe. Das Ergebnis ist
:Messwerte[6] = "-1,00";
Char To Hex(:MeasuredValues[6]) = "2D312E3030";
Nach dem Konvertieren des Datentyps der Spalte in Numerisch:
:Messwerte[6] = .;
Char To Hex(:MeasuredValues[6]) = "FFFFD10000000000";
Ich habe das Skript für die zweite Zeile ausgeführt, die in einen numerischen Wert konvertiert wird (ändert sich nach der Konvertierung in einen anderen Wert), das Ergebnis ist
Vor der Umstellung:
:Messwerte[2] = "1.6.1";
Char To Hex(:MeasuredValues[2]) = "312E362E31";
Nach Konvertierung:
:Messwerte[2] = 3061584000;
Char To Hex(:MeasuredValues[2]) = "41E6CF8210000000";
Ich habe die Tabelle mit den MeasuredValues-Daten angehängt.
Danke !!
Betreff: Wie man den Spaltendatentyp von Zeichen in Numerisch umwandelt, ohne dass numerische Werte in der Spalte verloren gehenDas Konvertieren der Tabelle, die Sie haben, ist "einfach", aber im Allgemeinen ist diese Art der Konvertierung nicht. Es gibt so viele verschiedene Werte, die Sie berücksichtigen müssen. Dann gibt es ein Problem/Feature mit dem Wie Die Num-Funktion von JMP funktioniert. Unten ist eine Idee, aber dies lässt immer noch viele verschiedene "numerische" Formate aus, wie Dauer, Datum, Uhrzeit, Prozentsätze, Tausendertrennzeichen und so weiter. Außerdem werden nur einige der möglichen Zeichen entfernt, die nichts mit Zahlen zu tun haben
Names Default To Here(1);
dt = Current Data Table();
//remove alphabetical characters, should also remove some special characters
regex_one = "[a-zA-Z\s]";
dt << New Column("no_alph", Character, Nominal, << Set Each Value(
Regex(:MeasuredValues, regex_one, "", GLOBALREPLACE);
));
regex_two = "^-?[0-9]+\.?[0-9]*$";
dt << New Column("nums", Numeric, Nominal, << Set Each Value(
Num(Regex(:no_alph, regex_two))
));
Betreff: Wie man den Spaltendatentyp von Zeichen in Numerisch umwandelt, ohne dass numerische Werte in der Spalte verloren gehenDanke Jthi !!
Das hat funktioniert...
Betreff: Wie man den Spaltendatentyp von Zeichen in Numerisch umwandelt, ohne dass numerische Werte in der Spalte verloren gehenEs scheint, dass JMP einen Fehler in der Funktion Num() hat.Zeichenfolgen des Musters
"nnn"
sollte immer einen fehlenden JMP-Wert zurückgeben, in vielen Fällen gibt es jedoch einen gültigen numerischen Wert zurück
Num( "9.4.333" )
kehrt zurück
-49554633600
Ich kann in der JMP-Dokumentation (eine nicht erschöpfende Suche) keinen Verwendungshinweis zu diesem Problem finden.Ich sende einen Fehlerbericht an das JMP-Supportteam.