Comment rechercher dans les en-têtes de colonnes?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut,
Je suis nouveau dans les scripts JSL et je veux savoir comment rechercher dans les en-têtes de colonnes.
Fondamentalement, j’ai utilisé un tableau de données préparé par une autre personne que j’ai besoin d’analyser. Avant de commencer l'analyse, je modifie les en-têtes de colonne par le biais d'un script.
Cependant, parfois, la table de données n'a pas l'en-tête spécifique que je suis en train de traquer et le script JSL sera abandonné.
Voici une partie de mon code:
col = Column ("% L (i) _MRR"); col << Set Name ("irawLossMRR");
col = Column ("% L (i) _QSNR - Production_Avg."); col << Nom du set ("irawLossQSNR");
Mon problème: S'il n'y a pas d'en-tête de colonne "% L (i) _MRR", le script sera abandonné et n'exécutera pas la commande suivante.
Condition préalable: Comment afficher une fenêtre contextuelle pour afficher un message: "Pas de colonne% L (i) _MRR" et passer à la commande suivante.
- marknight -
Comment rechercher dans les en-têtes de colonnes?On dirait qu'il veut afficher le message d'erreur, mais continue avec le reste des fonctions de changement de nom de colonne. Vous pouvez le faire avec un dialogue modal (vous devez cliquer sur "OK" avant de poursuivre le script) ou sur une fenêtre de légende (ne pas arrêter le script ni exiger une réponse), selon vos préférences. Dans les exemples ci-dessous, "ancien_nom" désigne le nom de la colonne que vous souhaitez localiser et remplacer et "nouveau_nom" se réfère au nom avec lequel vous souhaitez le remplacer.
noms_colonne = dt << obtenir les noms de colonne (chaîne);
if (! contient (noms_colonne, "ancien_nom"),
dlg = dialog ("Pas de colonne old_name",
bouton ("Annuler"), bouton ("OK")),
Si (dlg ["Button"] == -1, Throw ()),
Colonne ("ancien_nom") << Nom défini ("nouveau_nom")
)
Pour utiliser la commande de légende non modale:
noms_colonne = dt << obtenir les noms de colonne (chaîne);
if (! contient (noms_colonne, "ancien_nom"),
Légende ({x, y}, "Pas de colonne old_name");
Attendre (2);
Légende (supprimer),
Colonne ("ancien_nom") << Nom défini ("nouveau_nom")
)
x et y dans la légende se rapportent aux coordonnées d'affichage. Ainsi, si votre résolution d'affichage est de 1024 x 768, l'utilisation de {500 350} vous donnera une fenêtre de légende située approximativement au milieu de votre écran. Vous pouvez également modifier l'heure de la commande 'wait' si le message s'affiche trop longtemps (ou pas assez).
Vous devrez répéter la condition pour chaque colonne, en remplaçant "ancien_nom" et "nouveau_nom" à chaque fois.
Comment rechercher dans les en-têtes de colonnes?Vous utiliseriez quelque chose comme ce qui suit:
dt = ouvrir ( "$ sample_data \ Big Class.jmp" ) ;
noms_colonne = dt << Obtenir les noms de colonne ( Chaîne ) ;
si ( ! contient ( noms_colonne , "Prénom" ) ,
dlg = dialogue ( "Colonne non trouvée" ,
"Colonne d'avertissement [prénom] non trouvée" ,
bouton ( "D'ACCORD" )) ;
jeter () ;
) ;
Notez que la fonction contient est sensible à la casse.
Cordialement,
Peter