Extrahieren von Informationen aus durch Kommas getrennten Variablen<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />F: Ist es möglich, innerhalb einer durch Kommas getrennten Variablen zu suchen und Informationen zu extrahieren?
Kontext: Ich habe eine Liste von Produkten (5), die einer Multi-Punch-Variablen zugeordnet sind, und ich möchte innerhalb der Variablen nachsehen, ob der mit Produkt 4 (4) verknüpfte Wert vorhanden ist, und wenn ja, diese Person als Benutzer kennzeichnen.
Beispieldaten:
| ICH WÜRDE | Verwendete Produkte |
|---|
| 234241241 | 2,4,5 |
Die Verwendung einer einfachen IF (var == 4,1,0) funktioniert nicht. Ich denke, es wird nach einer Antwort gesucht, die perfekt mit dem, was sich in der Zelle befindet, übereinstimmt, anstatt das Niveau zu überprüfen, das in allen Daten vorhanden ist.
Natürlich könnte ich die Daten so umformatieren, dass jedes Produkt eine eigene Spalte hat, aber ich würde gerne wissen, ob dies bei Formelfunktionen ein Weg ist.
Vielen Dank!
Re: Extrahieren von Informationen aus durch Kommas getrennten VariablenEs gab einen kleinen Fehler im Code, den ich oben behoben habe.
Um Ihre Frage zu beantworten, wenn Sie sie einfach kopieren und in das Formelfeld einfügen möchten, fügen Sie Folgendes ein:
If (! Fehlt (Regex (: Verwendete Produkte, "4")), "True", "False")
Der einzige Unterschied ist der Spaltenabschnitt, da Sie Ihre Tabelle nicht definieren müssen.
Re: Extrahieren von Informationen aus durch Kommas getrennten VariablenWenn Sie Ihre Spalte als mehrere Antwortspalte markieren (dh der Spalte mehrere Antworteigenschaften hinzufügen), können Sie den Datenfilter verwenden, um die verschiedenen Werte aufzuteilen.
z.B,
Neue Tabelle ( "Prüfung" .
Zeilen hinzufügen ( 10 ) .
Neue Spalte ( "Produkte" .
Charakter .
"Nominal" .
Eigenschaft festlegen ( "Mehrfache Antwort" . Mehrfachantwort (Trennzeichen ( "," ))) .
Werte setzen (
{ "1,2,4" . "1,3,4" . "2,3" . "2,4" . "1,2" . "4" . "1" . "3" . "1,4" . "1" }
)
) .
Neue Spalte ( "Nutzer" .
Numerisch .
"Kontinuierlich" .
Format ( "Beste" . 12 ) .
Werte setzen ([ 2 . 3 . 1 . 3 . 2 . 4 . 1 . 3 . 4 . 4 ])
)
) ;
Aktuelle Datentabelle () << Datenfilter (
Ort( { 1166 . 73 }) .
Filter hinzufügen (
Säulen( : Produkte ) .
Anzeige( : Produkte . Größe( 53 . 77 ) . Kontrollkästchen anzeigen)
)
) ;
Jetzt können Sie den Datenfilter verwenden, um die gewünschte Kategorie auszuwählen.
Dies kann Ihnen geben, was Sie wollen.
Re: Extrahieren von Informationen aus durch Kommas getrennten VariablenVersuchen Sie die Contains () - Funktion:
Enthält ( : Verwendete Produkte . "4" ) > 0
Re: Extrahieren von Informationen aus durch Kommas getrennten VariablenIch werde das testen. Vielen Dank.
Ist dies eine Formel, die im Formeldialogfenster beim Erstellen einer neuen Spalte funktionieren würde?
Re: Extrahieren von Informationen aus durch Kommas getrennten VariablenIch denke, Sie meinen etwas anderes.
dt = aktuelle Datentabelle ();
dt << Neue Spalte ("Name", Zeichen, Nennwert, Formel (! IsMissing (Regex (Spalte (dt, "Verwendete Produkte") [], "4")), "True", "False")));
Hierbei werden reguläre Ausdrücke verwendet und die Spalte "Verwendete Produkte" nach "4" durchsucht. Wenn es eine 4 gibt, spuckt es True in der neuen Spalte aus, sonst spuckt es "False" aus.
Re: Extrahieren von Informationen aus durch Kommas getrennten VariablenWenn ich richtig verstehe, verwende:
dt = aktuelle Datentabelle ();
dt << Neue Spalte ("Name", Zeichen, Nennwert, Formel (Wenn (Wörter (dt, "Verwendete Produkte") [], ",") == 4, Wort (4, Spalte (dt, "Verwendete Produkte") [], ","))));
Dadurch wird eine neue Spalte "Name" hinzugefügt, in der die Spalte "Verwendete Produkte" überprüft wird, wenn genau 4 Elemente durch Kommas getrennt sind. Wenn dies der Fall ist, wird das vierte durch Kommas getrennte Element als Wert der Spalte verwendet.