So wählen Sie Zeilen mit mehreren kombinierten Kriterien ausHallo,
Ich versuche, eine bestimmte Gruppe innerhalb eines großen Datensatzes anhand der folgenden Kriterien zu isolieren: alle Probanden, die 2 bestimmte Fragen mit Ja beantwortet haben UND alle Probanden, die 3 andere Fragen mit Ja beantwortet haben (Gesamtzahl der Fragen = 9). Ich konnte Probanden, die das erste Kriterium erfüllten, ziemlich leicht isolieren, weiß aber nicht, wie ich Probanden auswählen soll, die das zweite Kriterium erfüllen (vorausgesetzt, alle Probanden, die das erste Kriterium erfüllten, wurden aus der interessierenden Stichprobe entfernt, um zu vermeiden, dass sie zweimal gezählt werden). Jede Hilfe wäre sehr willkommen!
Betreff: So wählen Sie Zeilen mit mehreren kombinierten Kriterien ausDanke für die Auskunft! Das Ändern von Fruit_Scanner=="2" zu Fruit_Scanner==2 funktionierte wie ein Zauber. Damit konnte ich endlich die Zeilen abrufen, nach denen ich suchte, indem ich Folgendes verwendete:
dt = Offen ( "meinedatei.jmp" ) ;
dt << Wählen Sie Wo aus ( : testdurance_T1 == 1 | : teststrong_T1 == 1 | Summe ( : testenjoy_T1 == 1 , : testad_T1 == 1 , : testsports_T1 == 1 , : testschlaf_T1 == 1 ,
: testperform_T1 == 1 , : testlibido_T1 == 1 , : männliche Energie_T1 == 1 ) >= 3 ) ;
Nochmals vielen Dank an alle für alles!
Betreff: So wählen Sie Zeilen mit mehreren kombinierten Kriterien ausIch vermute, dass die Spalten Fruit_scanner und Vegitable_Scanner numerisch und nicht zeichenhaft sind.In Ihrem "Nonworking"-Beispiel haben Sie den Vergleich wie folgt angegeben:
Fruit_Scanner=="2".
Wenn Fruit_Scanner eine numerische Spalte ist, wäre der Vergleich:
Fruit_Scanner==2
Sehen Sie sich auch die tatsächlichen Werte von Fruit_scanner an.Ich dachte, Sie haben angegeben, dass die Werte 0 oder 1 waren. Wenn das stimmt, müssen Sie suchen nach:
Fruit_Scanner==1
Die ursprüngliche Antwort, die ich veröffentlicht habe, ist das Format, das verwendet werden muss, um das zu bekommen, was Sie wollen.Was benötigt wird, sind die tatsächlichen Namen der Spalten und die tatsächlichen Werte in diesen Spalten.Wenn Sie das zur Verfügung stellen können, könnte ich Ihnen die JSL geben
Betreff: So wählen Sie Zeilen mit mehreren kombinierten Kriterien ausDanke Jim! Ich habe versucht, diese 4 durch eine 1 zu ersetzen, da ich weiß, dass diese Kombination für mindestens eine Zeile zutrifft, aber immer noch nichts ausgewählt wurde. Insgesamt möchte ich Zeilen auswählen, die "Ja" (als 1 codiert) als Antwort auf mindestens 3 Fragen aus einer Gruppe von insgesamt 7 Fragen haben (also> = 3 insgesamt). Irgendwelche Tipps würden sehr geschätzt.
Danke noch einmal!
Betreff: So wählen Sie Zeilen mit mehreren kombinierten Kriterien ausSie scheinen zu vermissen, wie die Logik funktioniert.Was Sie unten haben, kann niemals eine Summe größer als eins haben.
ein boolescher Vergleich ergibt immer eine 0 oder eine 1.
Wenn Sie also prüfen, ob eine Variable namens X einen Wert von 22 hat, wird der Vergleicher oder
X==22 gibt eine 1 zurück, wenn es wahr ist, und eine 0, wenn es falsch ist.
in Ihrem Beispiel unten der Komparator von
Fruit+Screener == "2" & Vegitables_Screener == "2" kann nur wahr(1) oder falsch(0) sein.
Die Summe davon kann nur eine 0 oder eine 1 sein, niemals eine 4
Betreff: So wählen Sie Zeilen mit mehreren kombinierten Kriterien ausDanke für die schnelle Antwort Jeff! Das Hinzufügen des " " hat den Zweck erfüllt, die Zeile zu isolieren, die mit dieser bestimmten ID-Nummer übereinstimmt. Da ich nicht wirklich weiß, ob eine Zeile den Kriterien einer "Ja" (als 1 codiert) Antwort auf mindestens 3 Fragen aus dem Satz von 7 Fragen entspricht, die zuvor erwähnt wurden, habe ich versucht, einen Summenbefehl für ein paar Variablen einzugeben von dem ich wusste, dass es etwas zurückgeben sollte. Folgendes habe ich versucht:
dt = Offen ( "meinedatei.jmp" ) ;
dt << Wählen Sie Wo aus ( Summe ( :Fruit_Screener == "2" & :Gemüse_Screener == "2" ) == 4 ) ;
Leider ist nichts passiert. Ich weiß, dass mindestens eine Zeile das Kriterium "nein" (als 2 codiert) für diese beiden Variablen erfüllt, aber keine Auswahl stattgefunden hat. Könnte das _ in den Variablennamen ein Problem sein oder ist es ein Fehler mit der Summenformel?
Danke noch einmal!
Betreff: So wählen Sie Zeilen mit mehreren kombinierten Kriterien aus
@Jeff_Perkinson schrieb:
Denken Sie daran, dass Zeichenspalten angezeigt werden Rechts linksbündige und numerische Spalten sind links Rechts.
Ich habe meine linke und meine rechte oben durcheinander gebracht. Verzeihung!
-Jeff
Betreff: So wählen Sie Zeilen mit mehreren kombinierten Kriterien ausIst Ihre ID-Spalte ein Zeichen oder eine Zahl?
Denken Sie daran, dass Zeichenspalten angezeigt werden Rechts linksbündige und numerische Spalten sind links Rechts.
Wenn Ihre Spalte aus Zeichen besteht, müssen Sie den ID-Wert für den Vergleich in doppelte Anführungszeichen setzen.
Zum Beispiel:
:ID=="1234"
Betreff: So wählen Sie Zeilen mit mehreren kombinierten Kriterien ausIst Ihre ID-Spalte ein Zeichen oder eine Zahl?
Denken Sie daran, dass Zeichenspalten rechtsbündig und Zahlenspalten linksbündig dargestellt werden.
Wenn Ihre Spalte aus Zeichen besteht, müssen Sie den ID-Wert für den Vergleich in doppelte Anführungszeichen setzen.
Zum Beispiel:
:ID=="1234"
Betreff: So wählen Sie Zeilen mit mehreren kombinierten Kriterien ausDanke euch allen! Ich habe versucht, den Code zu ändern, aber es hat immer noch nicht funktioniert, also bin ich in den JMP-Skriptleitfaden gegangen, um zu versuchen, die Dinge herauszufinden. Ich konnte alle Zeilen mit diesem Code auswählen:
dt = Offen ( "meinedatei.jmp" ) ;
dt<
Da dies funktionierte, versuchte ich, einen einfacheren Code als den ursprünglichen zu wählen. Ich musste sehen, ob ich die Dinge mit den JMP-Anweisungen auf den richtigen Weg bringen konnte. Ich habe versucht, folgenden Code erfolglos:
dt = Offen ( "meinedatei.jmp" ) ;
dt << Wählen Sie Wo aus ( :ID==10322 ) ;
Ich habe es ohne Fehlermeldung ausgeführt, aber es ist nichts passiert. Ich habe die bestimmte Zeile überprüft, die hätte ausgewählt werden sollen, aber sie war immer noch nicht ausgewählt. Ich habe es erneut versucht, aber immer noch nichts. Beim Aufrufen des Skriptprotokolls habe ich Folgendes gefunden:
//:*/
dt = Open( "myfile.jmp" );
dt << Select Where( :ID==10322 );
/*:
Skriptfähig[]
//:*/
dt = Open( "Pre_Post_Freshman_Screener_.jmp" );
dt << Select Where( :ID==10322 );
Ich habe versucht, den Code auf ID = 10322 umzustellen, um zu sehen, ob es einen Unterschied machen würde, und habe Folgendes erhalten:
/*:
//:*/
dt = Open( "Pre_Post_Freshman_Screener_.jmp" );
dt << Select Where( :ID=10322 );
/*:
Verwenden Sie == für den Vergleich, = ist eine Zuweisung
Verwenden Sie == für Vergleich, = ist Zuweisung{1}
//:*/
dt = Open( "Pre_Post_Freshman_Screener_.jmp" );
dt << Select Where( :ID=10322 );
/*:
Verwenden Sie == für den Vergleich, = ist eine Zuweisung
Verwenden Sie == für Vergleich, = ist Zuweisung{1}
//:*/
dt = Open( "Pre_Post_Freshman_Screener_.jmp" );
dt << Select Where( :ID=10322 );
/*:
Ich kann nicht umhin zu denken, dass dies ein einfacher Fehler sein muss, aber ich bin immer noch ratlos. Irgendwelche Gedanken?
Danke nochmal für deine Hilfe!
Betreff: So wählen Sie Zeilen mit mehreren kombinierten Kriterien ausMarks Kommentar unten ist richtig.In dem Beispiel, das ich Ihnen gegeben habe, hatte es einen Kommentar
/* or >= 3 if that is what you want */
Eingebettet in eine Codezeile.Diese Art von Kommentar beginnt mit "/*" und sucht nach "*/", um den Kommentar zu beenden.Da Ihr Code nur das /* hat, ist das ");" in der nächsten Zeile wird als Teil des fortlaufenden Kommentars betrachtet
Betreff: So wählen Sie Zeilen mit mehreren kombinierten Kriterien ausSie haben einen Kommentar in der vorletzten Zeile begonnen, sodass die schließende Klammer nicht zu sehen ist.
Betreff: So wählen Sie Zeilen mit mehreren kombinierten Kriterien ausVielen Dank für die schnelle Antwort Jim. Mit meinen Variablen und 1 als Ja-Code habe ich versucht, was Sie mir gegeben haben:
dt = Aktuelle Datentabelle () ;
dt << Zeilen auswählen wo (
testdurance_T1 == "1" & teststrong_T1 == "1" & Summe (
testenjoy_T1 == "1" ,
testad_T1 == "1" ,
testsports_T1 == "1" ,
testschlaf_T1 == "1" ,
testperform_T1 == "1" ,
testlibido_T1 == "1" ,
männliche Energie_T1 == "1"
) > = 3 /*
);
und bekam folgenden Fehler:
Unerwartetes Ende der Eingabe. Vielleicht fehlt ein "," oder ")". Versuch, Argumente der Funktion "Zeilen auswählen, wo" zu analysieren. Zeile 12 Spalte 4: );►
Ich habe Zeile 12 überprüft und sie erfüllt keines der Einschlusskriterien. Mir fehlt eindeutig etwas, aber ich kann nicht herausfinden, was.
Danke noch einmal!
Betreff: So wählen Sie Zeilen mit mehreren kombinierten Kriterien ausUnten ist ein Skript "Zeilen auswählen, wo", das die Logik dessen zeigt, was Sie tun müssen.Wenn Sie dies interaktiv tun möchten, nehmen Sie einfach die Logikkomponente der Anweisung und bauen Sie sie ein:
Zeilen==>Zeilenauswahl==>Wo auswählen
dt = Current Data Table();
dt << select rows where(
q1 == "Yes" & q2 == "Yes" & Sum(
q3 == "Yes",
q4 == "Yes",
q5 == "Yes",
q6 == "Yes",
q6 == "Yes",
q7 == "yes",
q8 == "Yes",
q9 == "Yes"
) == 3 /* or >= 3 if that is what you want */
);