Dans SAS, quelles sont les bonnes techniques / options pour détecter les erreurs de syntaxe?

StackOverflow https://stackoverflow.com/questions/836157

  •  08-07-2019
  •  | 
  •  

Question

Dans l'éditeur amélioré, la coloration peut vous donner un indice. Cependant, sur l'ordinateur central, je ne crois pas que l'éditeur puisse vous aider.

j'utilise

OPTIONS OBS=0 noreplace;

L'option obs = 0 spécifie que 0 observarions sont lus depuis l'entrée ensemble de données et NOREPLACE indique à SAS de ne pas remplacer un ensemble de données SAS existant par l'un des même nom. Si vous créez un nouveau datastet, il sera créé avec tous les attributs, mais avec 0 observations. (Veillez à réinitialiser les options, si nécessaire, sur Options Obs = remplacer au maximum; lorsqu'il n'y a plus d'erreur de syntaxe trouvée).

Je serais intéressé par d'autres techniques. Merci

L’explication concernant les options provient de ici.

Était-ce utile?

La solution

J'utilise l'option d'annulation de l'instruction d'exécution. Il vérifiera la syntaxe de l'étape de données, puis la terminera sans l'exécuter réellement. Il s’agit de l’étape de données analogue à l’option noexec de proc sql.

data something;
<stuff here>
run cancel;

Beaucoup plus de détails dans ce SUGI pdf

Autres conseils

J'écris tout mon code sur mon PC avec SAS sur mon PC et l'éditeur amélioré à code de couleurs. J'utilise ensuite SAS / CONNECT pour le traiter sur le grand système. Si les jeux de données sont sur DASD, j'utilise SAS / CONNECT et Enterprise Guide pour exécuter directement le code sur l'ordinateur central (pas de JCL!). S'il existe une bande de données impliquée et doit donc être exécutée par lots, j'utilise SAS / CONNECT et le logiciel SAS moteur ftp pour envoyer le code à la file d’attente par lots de l’ordinateur central. J'utilise le moteur de messagerie SAS pour m'envoyer par courrier ma sortie et mon journal. Je mets et ODS sandwich autour de mon code pour que l’ordinateur central génère un document WORD pour la sortie. J'utilise un téléchargement PROC pour télécharger la sortie sur mon serveur afin de pouvoir l'ouvrir en WORD.

Ce conseil est indépendant de la langue.

Je dirais qu'une technique préférable pour capturer les erreurs de syntaxe (et de logique) consiste à effectuer une lecture (ou une inspection) approfondie de votre propre code (qui devrait contenir la majorité des erreurs de syntaxe), suivie de tests unitaires sur de petits ensembles de données. (qui interceptera les erreurs de syntaxe restantes, ainsi que de nombreuses erreurs de logique si vos tests sont bien conçus).

Je conviens que la vérification de la syntaxe en elle-même vaut la peine, mais la lecture et la compréhension de votre code suffisamment avant la première compilation pour que vous sachiez qu'il compilera est un idéal idéal. Steve McConnell aborde cette idée dans Code Complete (reportez-vous à la page 827 de la 2e édition).

P.S. Vous avez mentionné la syntaxe en surbrillance dans votre message d'origine; il existe d'autres éditeurs (tels que VIM) qui effectuent la coloration syntaxique des fichiers SAS.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top