Wie extrahiert man Spaltentext basierend auf Zeichenwerten anstelle von numerischen Werten?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo JMP-Community,
Ich habe Text in einer Spalte mit dem Titel Beschreibung, der wie folgt aussieht:
Beschreibung Spalte
Zeile 1: Softwareproblem: Systemsoftware; Keine Antwort
Zeile 2: Softwareproblem: Systemsoftware; Keine Antwort
Reihe 3: Elektronikproblem: Stromversorgung; Antwort 1
Zeile 4: Problem mit Computer und Benutzeroberfläche: Systemsoftware; Antwort 2
Okay, also möchte ich den Text in dieser Spalte nehmen und basierend auf der Interpunktion aufteilen.In einer neuen Spalte möchte ich also den Text vor dem Doppelpunkt ":" und in einer anderen Spalte den Text zwischen dem Semikolon und dem Doppelpunkt ":" und ";":
Also sollte ich bekommen:
Beschreibung Spalte Spalte B Spalte C
Zeile 1: Softwareproblem: Systemsoftware; Keine Antwort Softwareproblem Systemsoftware
Ich habe diese neuen Spalten erstellt und eine Formel angewendet, bei der ich versucht habe, die Zeichenfunktionen Links/Rechts zu verwenden (ich beziehe mich auf die Beschreibungsspalte als Textfeld).Alle Zeichenfunktionen basieren jedoch auf einem numerischen Wert.Wie kann ich eine Left / Right Character-Funktion verwenden, um zu sagen
"Recht( Beschreibung Spalte , ":")", sodass ich den gesamten Text vor dem ":" bekomme?
Danke für Ihre Hilfe,
-Sarah
Betreff: Wie extrahiert man Spaltentext basierend auf Zeichenwerten anstelle von numerischen Werten?Vielen Dank! Beide Versionen haben genau das gemacht, was ich gesucht habe
Betreff: Wie extrahiert man Spaltentext basierend auf Zeichenwerten anstelle von numerischen Werten?Ein alternativer Ansatz ist hier die Verwendung der Funktion Word().
Formel für Spalte B:
Word( 1, :Beschreibungsspalte, ":;" )
Formel für Spalte C:
Trim( Word( 2, :Description Column, ":;" ) )
Betreff: Wie extrahiert man Spaltentext basierend auf Zeichenwerten anstelle von numerischen Werten?Dies wird tun, was Sie brauchen.Der Trick besteht darin, contains und substr zu verwenden, um genau die Teilzeichenfolgen zu erhalten, die Sie möchten.
dt = Neue Tabelle ( "Ausgaben" ,
Zeilen hinzufügen ( 4 ) ,
Neue Spalte ( "Beschreibung" ,
Charakter ,
Nominal ,
Werte einstellen (
{ „Softwareproblem: Systemsoftware; keine Antwort“ ,
„Softwareproblem: Systemsoftware; keine Antwort“ ,
"Elektronikproblem: Stromversorgung; Antwort 1" ,
"Computer- und Benutzeroberflächenproblem: Systemsoftware; Antwort 2" }
)
)
) ;
dt << neue Spalte ( "Spalte B" , Charakter , Nominal ,
Formel (
Doppelpunkt_pos = enthält ( : Beschreibung , ":" ) ;
Substr ( : Beschreibung , 1 , Doppelpunkt_pos - 1 ) ;
)
) ;
dt << neue Spalte ( "Spalte C" , Charakter , Nominal ,
Formel (
Doppelpunkt_pos = enthält ( : Beschreibung , ": " ) ;
semi_pos = enthält ( : Beschreibung , "; " ) ;
Substr ( : Beschreibung , Doppelpunkt_pos + 2 , semi_pos - Doppelpunkt_pos - 2 ) ;
)
) ;