SAS: Zeitpunkt der autoexec Datei / Formate Datensätze für die Anzeige der Anwendung

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

  •  23-08-2019
  •  | 
  •  

Frage

Hier ist der Hintergrund. Es tut mir leid, es ist so lange:
Ich mache SAS Programmierung für 3 verschiedene Projekte. Jedes Projekt hat seine eigenen Hauptprojektordner. Jeder Hauptprojektordner enthält einen Ordner Formate (die das Format Katalog enthält) und dann mehrere andere Ordner, von denen jede Programme und Datensätze enthält. Ich mache die meisten meiner Arbeit im Batch-Modus, so dass SAS ist in der Regel nicht offen. Gelegentlich jedoch möchte ich einen Datensatz in SAS öffnen um etwas Bestimmtes zu suchen. Wenn ich dies tun, wird SAS nicht wissen, wo das entsprechende Format Katalog suchen, da die Formatkataloge nie im selben Ordner wie die Datensätze sind. Also zur Zeit ich eine autoexec.sas-Datei verwenden, die die nofmterr Option gibt, so dass meine Datensätze öffnen wird.

Ich möchte wirklich, aber in der Lage sein zu meinen Datensätze mit der entsprechenden Formatierung zu öffnen. Ich schrieb ein anderes autoexec Programm, das ein Dialogfenster verwendet, die mich fragt, welches Projekt arbeite ich an und setzt dann die fmtsearch Option entsprechend. Dies funktioniert gut, wenn ich will ersten SAS öffnen und dann einen Datensatz öffnen. Aber wenn SAS nicht bereits installiert ist und läuft, und ich versuche, einen Datensatz mit einem Doppelklick auf sie zu öffnen, hier ist was passiert: die autoexec Datei zu laufen beginnt, dann versucht SAS den Datensatz zu öffnen, bevor die autoexec Datei ausgeführt wird beendet. Also, wenn ich nofmterr eingestellt haben, wird der Datensatz ohne Formate öffnen, oder wenn ich nicht nofmterr Satz haben, der Datensatz wird nicht öffnen.

hier ist also meine Frage: Gibt es eine Möglichkeit, SAS zu erhalten, zu warten, bis die autoexec Datei ausgeführt wird beendet, bevor es den Datensatz zu öffnen versucht? Oder gibt es eine andere Art und Weise, um das Problem? (Ich möchte nicht alle 3-Format-Dateien in der fmtsearch Option hinzuzufügen, da verschiedene Projekte verschiedene Formate mit dem gleichen Namen haben könnten.)

War es hilfreich?

Lösung

Da der Datensatz wird ohne Code zu öffnen, bevor die Hand ausgeführt wird, wird dieses ruhige schwierig. Ist es möglich, den Datensatz als Parameter eines Codes zu öffnen. Ich sehe etwas wie folgt aus:

commandline:/sas ./opends.sas -sysparm "/this/is/the/dataset/location_and_name"

Ihr Code „opends.sas“ würde alle der relavent Formatierungsinformationen für Ihr Projekt enthalten.

Sie könnten sogar ein Skript (bash oder Batch je nach OS) schreiben, dass alle der oben genannten vordefinierten hat und man konnte das Skript mit dem Datensatz als Parameter aufrufen.

Ich weiß, das scheint umständlich, aber es ist die erste Lösung, die ich mit auf der Grundlage Ihrer Beschreibung einfiel.

- Added 20090218

Das opends.sas Skript sollte in einer SYSPARM Variable nehmen und je nach Betriebssystem, sollte es den Datensatz oder Ausgabe eines Befehls drucken den Datensatz zu öffnen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top