Jmp : Wählen Sie aus, wo<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo, ich würde versuchen, eine neue Tabelle mit select where in einem Skript zu generieren und die Teilmengentabelle mit einer anderen zusammenzuführen
Es gelingt mir, ein erfolgreiches Skript zu generieren, außer wenn die Zeile Select Where does not find mit den Kriterien ?
Wissen Sie, wie ich den Join-Tabellenteil in meinem Skript überspringen kann, wenn Sie auswählen, wo nichts zurückgegeben wird
Grüße
Sebastian
Betreff: Jmp: Wählen Sie aus, woZwei weitere Beispiele mit Wenn ( ! ist leer und meine bevorzugte Versuchen ( Methodenbeispiele:
Namen standardmäßig hierher ( 1 ) ;
// Datentabelle öffnen und einige Änderungen vornehmen
dt = Offen ( "$SAMPLE_DATA/Große Klasse.jmp" ) ;
dt << Name einsetzen ( "Tisch" ) <<
Neue Spalte ( "Gewicht Größe" , Formel ( : Last / : Höhe ) ) ;
// Öffne eine andere Datentabelle
dt2 = Offen ( "$SAMPLE_DATA/Große Klasse.jmp" ) ;
dt2 << Wählen Sie wo ( : Sex == "Q" ) ;
dt3 = dt2 << Teilmenge (
Ausgewählte Zeilen ( 1 ) ,
Nur ausgewählte Spalten ( 0 )
) ;
Wenn ( ! ist leer ( dt3 ) , //wenn ausgewählte Zeilen == 0 dt3 ist eine leere Variable
dt4 = dt << Beitreten (
Mit ( dt3 ) ,
Durch übereinstimmende Spalten ( : Name = : Name ) ,
Vielfache fallen lassen ( 0 , 0 ) ,
Nichtübereinstimmungen einschließen ( 0 , 0 ) ,
Haupttabellenreihenfolge beibehalten ( 1 )) , //kein Tabellendruck-Fehlerprotokoll
drucken ( "Leere Teilmengentabelle" )
) ;
Versuchen ( dt4 = dt << Beitreten (
Mit ( dt3 ) ,
Durch übereinstimmende Spalten ( : Name = : Name ) ,
Vielfache fallen lassen ( 0 , 0 ) ,
Nichtübereinstimmungen einschließen ( 0 , 0 ) ,
Haupttabellenreihenfolge beibehalten ( 1 ))
, // Fangausdruck
Drucken ( "Beitreten fehlgeschlagen" )) ;
Betreff: Jmp: Wählen Sie aus, wohallo seb38.cremer ,
FRAU gab die richtige Antwort. dennoch, wenn es nicht explizit genug war, das Folgende:
Namen standardmäßig hierher ( 1 ) ;
// Datentabelle öffnen und einige Änderungen vornehmen
dt = Offen ( "$SAMPLE_DATA/Große Klasse.jmp" ) <<
Name einsetzen ( "Tisch" ) <<
Neue Spalte ( "Gewicht Größe" , Formel ( : Last / : Höhe ) ) ;
// Öffne eine andere Datentabelle
dt2 = Offen ( "$SAMPLE_DATA/Große Klasse.jmp" ) ;
// statt select use get rows where verwenden - es ist robuster
gewählt = dt2 << Holen Sie sich Zeilen wo ( : das Alter == 12 ) ;
// sehen, ob welche ausgewählt wurden. wenn ja Teilmenge und Join
Wenn ( N-Reihe ( gewählt ) > 0 ,
dt3 = dt2 << Teilmenge (
Reihen ( gewählt ) ,
ausgewählte Spalten ( 0 ) // bringt alle Spalten
) ;
// Jetzt beitreten
dt3 << Beitreten (
Mit ( Datentabelle ( "Tisch" ) ) ,
Durch übereinstimmende Spalten ( : Name = : Name ) ,
Vielfache fallen lassen ( 0 , 0 ) ,
Name ( „Nichtübereinstimmungen einschließen“ )( 0 , 0 ) ,
Haupttabellenreihenfolge beibehalten ( 1 )
) ;
) ;
Betreff: Jmp: Wählen Sie aus, woEs gibt wahrscheinlich mehrere Möglichkeiten, dies zu tun. Hier ist eine Idee, die funktionieren sollte, wenn Wählen Sie Wo () angewendet wurden:
Wenn ( N-Reihe ( dt << Holen Sie sich Zeilen wo ( Ausgewählt ())) > 0 ,
dtsub << beitreten ( ... )
) ;
Andere Idee ohne Wählen Sie Wo () das macht nur dann eine Teilmenge, wenn irgendwelche Zeilen den Kriterien entsprechen (vergleiche mit "F" anstelle von "Q"):
dt = Offen ( "$SAMPLE_DATA/Große Klasse.jmp" ) ;
r = dt << Holen Sie sich Zeilen wo ( : Sex == "Q" ) ;
Wenn ( N-Reihe ( r ) ,
( dt << Teilmenge ( Reihen ( r ))) << beitreten ( Mit ( dt ))
) ;