Ignorer les lignes ci-dessous si une table est vide dans une boucle forSalut, j'ai le script suivant qui est à l'intérieur d'une boucle for. J'aime continuer la boucle si la table mydt est vide et sauter les lignes en dessous.
J'apprécie ton aide. Merci
------------------------------------------------
mondt = Tableau de données ( dt5 );
si (( est vide (mydt)), continue());
monrésumé = Tableau de données ( dt5 ) << Résumé (
Groupe( :BoardNo ),
Max ( :Heure de début ),
format du nom de la colonne de statistiques( "stat de colonne" )
);
mondt << Mise à jour (
Avec( Tableau de données ( monrésumé ) ),
Faire correspondre les colonnes ( :BoardNo = :BoardNo ),
Ajouter des colonnes à partir de la table de mise à jour ( :Max of starttime )
);
mondt << sélectionner où ( :starttime == :Max de starttime ) << inverser la sélection de ligne ;
mondt << supprimer des lignes ;
mondt << supprimer des colonnes ( "Max de l'heure de démarrage" );
Fermer ( mydtsummary, nosave );
Fermer (mydt, enregistrer);
Re : Passer les lignes ci-dessous si un tableau est vide dans une boucle forMerci Jim.
Re : Passer les lignes ci-dessous si un tableau est vide dans une boucle forSi( condition == vrai,
Casser();
);
Re : Passer les lignes ci-dessous si un tableau est vide dans une boucle forMerci Cameron. Le problème n'est pas de savoir si la table est vide ou n'a aucune valeur. le problème, si la condition est vraie, je veux ignorer toutes les lignes ci-dessous et passer à l'index de boucle for suivant.
si (condition = Vrai,
....
... sauter tout ci-dessous
...
);
Merci.
Re : Passer les lignes ci-dessous si un tableau est vide dans une boucle forQu'est-ce que vous utilisez la fonction Is Empty() pour faire ?S'il s'agit de vérifier si la table elle-même ne contient aucune donnée, vous utilisez cette fonction de manière incorrecte.Il vous dira si la variable mydt (et non la table de données à laquelle elle fait référence) n'a pas de valeur ou a une valeur vide.Si vous voulez vérifier si la table de données ne contient rien, faites quelque chose comme N Row(mydt) == 0 comme vérification logique.
Re : Passer les lignes ci-dessous si un tableau est vide dans une boucle forMerci pour le retour rapide et la solution. J'ai essayé mais j'obtiens une erreur dans la section de mise à jour.
argument manquant{8} dans l'accès ou l'évaluation de 'Data Table' , Data Table /*###*/ (monrésumé)
mydt << Mettre à jour(
Avec (tableau de données /*###*/ (monrésumé) ),
On dirait qu'il traite la section Update lorsque mydt est vide et qu'il ne devrait pas. Merci
Re : Passer les lignes ci-dessous si un tableau est vide dans une boucle forPourquoi ne pas simplement inverser la logique en utilisant "!" et coller toutes ces lignes dans votre instruction if ?
If( !Is Empty( mydt ),
mydtsummary = Data Table( dt5 ) << Summary(
Group( :BoardNo ),
Max( :starttime ),
statistics column name format( "stat of column" )
);
mydt << Update(
With( Data Table( mydtsummary ) ),
Match Columns( :BoardNo = :BoardNo ),
Add Columns from Update table( :Max of starttime )
);
mydt << select where( :starttime == :Max of starttime ) << invert row selection;
mydt << delete rows;
mydt << delete columns( "Max of starttime" );
Close( mydtsummary, nosave );
Close( mydt, save );
);