Regex-Problem mit Dezimalstellen und ganzen ZahlenHallo!
Verwendung von JMP 16.2: Ich habe eine Spalte mit ganzen Zahlen und Dezimalzahlen. Ich möchte eine neue Spalte erstellen, die die ganzen Zahlen (oder die Dezimalstellen) kennzeichnet.
Spaltenname: Wert
Spalteneingaben:
0
.5
3
3.768
10
usw.
Ich habe mehrere Versionen der folgenden Regex mit einer Spaltenformel ausprobiert:
Regex(Wert,"\d+\,\d+", "Dezimal")
Regex(Zeichen(Wert),"\d+\,\d+", "Dezimal")
Ich habe auch Klammern und Klammern in der zweiten Eingabe ausprobiert.
Ich habe auch bemerkt, dass die Regex funktioniert, wenn es eine Spalte mit NUR Dezimalzahlen und nicht mit ganzen Zahlen gibt ...
Hat jemand einen brauchbaren Trick, um das zum Laufen zu bringen?
Vielen Dank!
DatentabelleBetreff: Regex-Problem mit Dezimalzahlen und ganzen ZahlenHallo! Das Format für die NEW-Spalte ist „Numeric“ und die Quellspalte (Value) ist ebenfalls numerisch. Es gibt keine Zeichen in der Quellspalte.
".1" wäre nicht gültig, mein Fehler, sie sind für Zahlen <1 als "0.1" gekennzeichnet.
Ich habe das Contain ausprobiert und das gibt mir eine Warnung: Contains(:"Value"n,".")
Fehler: Argument ist vom falschen Typ
(Danke für die Regex-Site, um meine Ideen zu testen!)
Betreff: Regex-Problem mit Dezimalzahlen und ganzen ZahlenHaben Sie eine Zeichenspalte oder ein benutzerdefiniertes Format? Welche Formate würden Sie für Dezimalwerte zulassen? Ist beispielsweise ".1" eine gültige Dezimalzahl? Und müssen Sie sich darüber hinaus um etwas anderes kümmern? Möglicherweise können Sie einfach Contains(:Value, ".") verwenden und prüfen, ob "." wird aus der Zeichenfolge gefunden
Bearbeiten:
Guter Ort zum Testen (und Lernen) von Regex: https://regex101.com/r/zBunSb/2
Betreff: Regex-Problem mit Dezimalzahlen und ganzen ZahlenWenn Ihre Quelle und Ihr Ziel numerische Spalten sind, können Sie einen booleschen Ausdruck in einer Formel in der Zieldatenspalte verwenden
(:Value - Round( :Value, 0 )) == 0
Oder
Modulo( :Value, 1 ) == 0
Deine Tabelle sieht also so aus:

Ich habe die Spalteneigenschaft „Value Labels“ verwendet, um Wörter statt nur 0 oder 1 anzuzeigen.