Comment continuer l'exécution du script si la table n'existe pas.J'ai ma table de données principale divisée en quelques tables à l'aide de la fonction de sous-ensemble. Ensuite, j'effectue quelques opérations et j'essaie de les fusionner à l'aide de la fonction de mise à jour. Mais parfois je n'ai qu'une seule table et parfois 2 tables. Comment puis-je dire au script de continuer si la deuxième table n'existe pas.
// Mettre à jour les tables de données
Tableau de données ( "Matériau A" ) << Mise à jour (
Avec( Tableau de données( "Matériau B" ) ),
Faire correspondre les colonnes ( :SN = :SN )
Comment puis-je indiquer au script que si la table Matériau A ou Matériau B n'existe pas, continuez l'exécution.
Analyse et modélisation des données de baseRe : Comment continuer l'exécution du script si la table n'existe pas.Si vous utilisez des variables, vous pouvez également utiliser Is Empty(dtref)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Try(dt2 = Open("$SAMPLE_DATA/Big Class Families"));
Show(Is Empty(dt), Is Empty(dt2));
mais vous devrez peut-être utiliser d'autres méthodes, selon l'endroit où vous obtenez vos tables (vous pouvez trouver un moyen d'utiliser Try() si rien d'autre ne semble fonctionner).
Re : Comment continuer l'exécution du script si la table n'existe pas.Merci pour les solutions et les conseils d'utiliser des variables pour stocker des références aux tables au lieu de se fier aux noms des tables.
Re : Comment continuer l'exécution du script si la table n'existe pas.Vous pouvez utiliser l'instruction Try ou vérifier si ces tables existent avant la mise à jour. Personnellement, je ferais une vérification au lieu de me fier à Try. De plus, il est généralement préférable d'utiliser des variables pour stocker les références aux tables plutôt que de se fier aux noms des tables.
Modifier : l'utilisation de Try ressemblerait à ceci ( https://www.jmp.com/support/help/en/17.2/#page/jmp/throw-and-catch-exceptions.shtml )
Try(
Data Table("Big Class") << Update(
With(Data Table("Big Class Families")),
Match Columns(:name = :name)
)
);
et vérifier les noms de table
tablelist = Get Data Table List() << get name;
// Only join if both are found
If(Contains(tablelist, "Big Class") & Contains(tablelist, "Big Class Families"),
Data Table("Big Class") << Update(
With(Data Table("Big Class Families")),
Match Columns(:name = :name)
)
);