Jmp : sélectionnez où<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour, j'essaierais de générer une nouvelle table avec select where dans un script et de fusionner la table de sous-ensemble avec une autre
Je réussis à générer un script réussi sauf lorsque la ligne Sélectionner Où ne trouve pas avec les critères ?
savez-vous comment je peux ignorer la partie table de jointure dans mon script si sélectionnez où ne rien retourner
Cordialement
Sébastien
Re: Jmp : sélectionnez oùDeux autres exemples utilisant Si ( ! est vide et mon préféré essayer ( exemples de méthode :
Noms par défaut ici ( 1 ) ;
// ouvre la table de données et apporte quelques modifications
dt = Ouvrir ( "$SAMPLE_DATA/Grande classe.jmp" ) ;
dt << définir le nom ( "table" ) <<
Nouvelle colonne ( "Poids/Taille" , formule ( : poids / : la taille ) ) ;
// ouvre une autre table de données
dt2 = Ouvrir ( "$SAMPLE_DATA/Grande classe.jmp" ) ;
dt2 << Sélectionnez où ( : sexe == "Q" ) ;
dt3 = dt2 << Sous-ensemble (
Lignes sélectionnées ( 1 ) ,
Colonnes sélectionnées uniquement ( 0 )
) ;
Si ( ! est vide ( dt3 ) , //si lignes sélectionnées == 0 dt3 est une variable vide
dt4 = dt << Rejoindre (
Avec ( dt3 ) ,
Par colonnes correspondantes ( : Nom = : Nom ) ,
Déposez des multiples ( 0 , 0 ) ,
Inclure les non-correspondances ( 0 , 0 ) ,
Conserver l'ordre de la table principale ( 1 )) , // aucun journal d'erreurs d'impression de table
imprimer ( "Table de sous-ensemble vide" )
) ;
essayer ( dt4 = dt << Rejoindre (
Avec ( dt3 ) ,
Par colonnes correspondantes ( : Nom = : Nom ) ,
Déposez des multiples ( 0 , 0 ) ,
Inclure les non-correspondances ( 0 , 0 ) ,
Conserver l'ordre de la table principale ( 1 ))
, // capture l'expression
Imprimer ( "Échec de l'adhésion" )) ;
Re: Jmp : sélectionnez oùsalut seb38.cremer ,
MME a donné la bonne réponse. pourtant, si ce n'était pas assez explicite, ce qui suit :
Noms par défaut ici ( 1 ) ;
// ouvre la table de données et apporte quelques modifications
dt = Ouvrir ( "$SAMPLE_DATA/Grande classe.jmp" ) <<
définir le nom ( "table" ) <<
Nouvelle colonne ( "Poids/Taille" , formule ( : poids / : la taille ) ) ;
// ouvre une autre table de données
dt2 = Ouvrir ( "$SAMPLE_DATA/Grande classe.jmp" ) ;
// au lieu d'utiliser select, utilisez get rows where - c'est plus robuste
choisi = dt2 << obtenir des lignes où ( : âge == 12 ) ;
// voir si certains ont été choisis. si oui sous-ensemble et jointure
Si ( N rangée ( choisi ) > 0 ,
dt3 = dt2 << sous-ensemble (
Lignes ( choisi ) ,
colonnes sélectionnées ( 0 ) // apporte toutes les colonnes
) ;
// maintenant rejoindre
dt3 << Rejoindre (
Avec ( tableau de données ( "table" ) ) ,
Par colonnes correspondantes ( : Nom = : Nom ) ,
Déposez des multiples ( 0 , 0 ) ,
Nom ( "Inclure les non-correspondances" )( 0 , 0 ) ,
Conserver l'ordre de la table principale ( 1 )
) ;
) ;
Re: Jmp : sélectionnez oùIl existe probablement plusieurs façons de procéder. Voici une idée qui devrait fonctionner si Sélectionnez Où() ont été appliqués:
Si ( N rangée ( dt << Obtenir des lignes où ( Choisi ())) > 0 ,
sous-dt << rejoindre ( ... )
) ;
Une autre idée sans Sélectionnez Où() qui crée un sous-ensemble uniquement si des lignes correspondent aux critères (comparer avec "F" au lieu de "Q") :
dt = Ouvrir ( "$SAMPLE_DATA/Grande classe.jmp" ) ;
r = dt << obtenir des lignes où ( : sexe == "Q" ) ;
Si ( N rangée ( r ) ,
( dt << sous-ensemble ( Lignes ( r ))) << rejoindre ( Avec ( dt ))
) ;