Wie überprüfen, ob eine Datei existiert?



Ähnliche Dokumente
Macro erzeugt Dateifilter

Merge mit nicht eindeutigen by-variablen

Zeilen in SAS-Datensatz einfügen

ODS RTF Titel in Spalten linksbündig darstellen

Hallo Jessi, wenn ich das. DATA aufg3_b; vari='<.0001'; IF &wil_two_test. le vari THEN pwert=0.0001;

Spalten aufsummieren?!

IMPORT / EXPORT Access

SUBSTRING - wo liegt mein Fehler?

Mehrere Datensätze zu einem Datensatz zusammenführen

Zeichen abscheiden???

Import von Text-Dateien. Einzelne Wörter einlesen.

SAS-Tipp #6: Schneller als Proc Summary

SPDS-Problem - proc summary auf View mit by-variable - Sortierung wird verlangt

Eine Variable in mehrere aufteilen

QMF Tabelle Q.OBJECT_DATA in DB2

Exportieren in excel sheets

Umbenennung von Spaltennamen über Schleife(n)

Dynamisch Makros aufrufen

Berechnung der Dauer eines SAS Makros?

SAS BASE LOG Fragen. Antwort, Teil 1

Auslesen von SAS Systeminformationen über die aktuelle Log- Ausgabe

Erzeugung von Zufallszahlen mit RANUNI()

Wie kann ich die Ausgabe als Excel speichern?

News Artikel Foren Projekte Links Über Redscope

zusammenfassen von Text variablenin einer Variable bei unterschiedlicher Variablenanzahl

Jede Kombination von 7 Spalten erzeugen

Ansprechen einer Anzahl von Variablen über einen Schleifendurchlauf

Zeit-Macro-Variablen, passend zu einem Tag

Vollständigen Code. News Artikel Foren Projekte Links Über Redscope. Join List Random Previous Next

Daten aus SPSS-18 Proc Format...

Anhang zur Frage Data statement und Proc Statement

Kreuztabelle als Data-Set so wie aus proc tabulate

Hilfe bei Programmierung mit SAS

Dateien trennen und zusammenfügen

News Artikel Foren Projekte Links Über Redscope

KSFE 4. Konferenz der SAS -Anwender

Funktion: Tabelleninhalte nacheinander durch eine Funktion schicken

Performance von SAS Anwendungen optimieren!?

Alter berechnen mit Base SAS

Achsenbeschriftung um 90 drehen

EG 4.2: Pfade zu verlinkten SAS-Files als relative Pfade speichern!?

NICHT TRIVIAL: MAKROVARIABLEN - GLOBAL ODER LOKAL

Programminhalte extrahieren und modifizieren mit SAS. Katja Glaß

Änderung der Ordnung der Variablen in den SAS Datensatz

THEMA: SAS CERTIFIED BASE PROGRAMMER FOR SAS 9 DIE VORBEREITUNG BRINGT S! KARIN GROSS

Einlesen von Textdateien mit sehr langen Zeilen

Allman-Einrückungsstil versus 1TBS bei SAS-Base-Programmen

SASGraphs2PDF. Erstellung einer PDF Datei aus SAS Graphiken mit Hilfe von ODS PDF. Monika Kawohl, Dirk Spruck Aventis Behring GmbH Biometrie

Zugriff aus Oracle via Proc SQL: Performanceprobleme

Formatierung beim Einlesen

Ermittlung der übereinstimmenden Variablen (-Namen) zweier Datasets

Berechnung der Arbeitstage

p^db=`oj===pìééçêíáåñçêã~íáçå=

Möglichkeiten der SAS Software für die Analyse großer Datentabellen

Exercise 6. Compound Types and Control Flow. Informatik I für D-MAVT. M. Gross, ETH Zürich, 2017

SAS Daten per Remote SUBMITE vom Großrechner selektieren,

Fehlermeldung, wenn Anzahl der %do der %end entspricht - was läuft falsch?

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

PeakTech Zeitprogramm erstellen über Excel - Beispiel / Timed programs with Excel Example

Makrofunktion zur Übernahme von Abfragekriterien aus externen Quellen, z.b. einer Excel Datei, in SAS Code (PROC SQL)

SAS-Makro-Programmierung. Eine Einführung. Zusätzliche Übungsaufgaben

STATA II: Daten- und Analysevorbereitung (Teil 1)

Copyr i g ht 2014, SAS Ins titut e Inc. All rights res er ve d. What s New im SAS Enterprise Guide 7.

Dateneingabe und Transformation Übersicht

viele ähnliche Datensätze automatisch einlesen

Warum ODS? Das Output-Delivery System (ODS) SAS Version 8.2. Warum ODS? Ausgabemöglichkeiten (=Ziele) für SAS-OUTPUT: ODS LISTING

Bash-Skripting Linux-Kurs der Unix-AG

PROC GCHART HBAR Zeilenumbruch in Achsenbeschriftung

FEBE Die Frontend-Backend-Lösung für Excel

PROC NPAR1WAY. zum Durchführen des U-Tests für zwei unverbundene Stichproben (für quantitative nicht-normalverteilte Merkmale)

C++ atomics, Boost.Lookfree, Hazard-Pointers und die Thread-Hölle

DER LOGISTISCHEN REGRESSION. Biometrie und Medizinische Dokumentation Schwabstraße Ulm

Kalenderfrage zu Ostern

SAS-Kurs: SS 09. Helmut Küchenhoff, Cornelia Oberhauser, Monia Mahling, Vroni Fensterer, Sara Wadle. 8. Juni 2009

rechtsbündige Leerzeichen mit einlesen im Datastep

Excel sheet input / Zufallsgenerator/ Excel sheet output

Teil 2.2: Lernen formaler Sprachen: Hypothesenräume

THEMA: SAS STORED PROCESSES ALS WEB-/REST-SERVICE AUFRUFEN" BRUNO MÜLLER

Tipps & Tricks. Eine Standardfunktionalität ist das Erstellen von Grafischen Basisobjekten auf dem Patran Viewport.

News Artikel Foren Projekte Links Über Redscope

Information Flow. Basics. Overview. Bell-LaPadula Model embodies information flow policy. Variables x, y assigned compartments x, y as well as values

C) SETTING THE DAY AND TIME (HOUR, 24 HOUR, MINUTE AND SECOND) The hour, 24 hour, minute, second and day are set by the same operation.

SAS-Online Dokumentation: zu finden über Internetsuche nach sas online documentation

Der SAS DataStep und die Prozedur SQL Cellent Finance Solutions GmbH Seite: 1

06 While-Schleifen. While-Schleifen 1/7 Wiederholung: Schleifen

Anwendung (2. Versuch:-) Entkopplung der Locks

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer

SAS Implementierungs- Erfahrungen beim Aufbau eines zentralen Kunden Data Marts für Data Mining

Das neue Volume-Flag S (Scannen erforderlich)

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

DIBELS TM. German Translations of Administration Directions

Proc GMAP - Beschriftung von Flächen

Installation/setup notes

Unterlagen zu: Das Datenanalysesystem SAS SS 2000

Datensatz aus Datensatz erzeugen

Agenda. FRA Was ist das? Warum sollte die FRA genutzt werden? FRA INIT Paramter Verzeichnisstruktur (Beispiel) Überwachung der Flash Recovery Area

Failed to transcode data from U_UTF8_CE to U_LATIN9_CE?!

USB -> Seriell Adapterkabel Benutzerhandbuch

Transkript:

News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren Allgemeine Fragen zu SAS Wie überprüfen, ob eine Datei existiert? 9 February, 2010-13:51 SAS-Fidi Hallo, ich möchte eine Macro-Schleife nur dann ausführen lassen, wenn eine bestimmte Datei existiert. Wie mache ich das? Foren: Allgemeine Fragen zu SAS Der Code, der Probleme macht! So, hab hier den fraglichen Programm-Ausschnitt: 9 February, 2010-14:16 SAS-Fidi %macro kkwselect(datei,var1,var2); %if &datei= %then %let datei=_last_; proc npar1way data=&datei wilcoxon noprint; title1 "Wilcoxon-Test für &var2. klass. nach &var1"; class &var1; var &var2; ods output KruskalWallisTest = kkwtest WilcoxonScores = wiltest; %if %sysfunc(fileref(kkwtest))>0 %then %do; data kkwtest; set kkwtest(keep=nvalue1); usw. Fehlermeldung: ERROR: File WORK.KKWTEST.DATA does not exist. Fast richtig! 9 February, 2010-14:30 SAS-Fidi Sodele, jetzt paßt es fast. Allerdings sind da noch unschöne Warnings, die immer noch weg müssen! Das Programm, wie es jetzt ist:

%macro kkwselect(datei,var1,var2); %if &datei= %then %let datei=_last_; proc npar1way data=&datei wilcoxon noprint; title1 "Wilcoxon-Test für &var2. klass. nach &var1"; class &var1; var &var2; ods output KruskalWallisTest = kkwtest WilcoxonScores = wiltest; %if %sysfunc(exist(kkwtest))>0 %then %do; data kkwtest; set kkwtest(keep=nvalue1); usw. Hier mal das Log: MLOGIC(KKWSELECT): %IF condition %sysfunc(exist(kkwtest))>0 is FALSE MLOGIC(KKWSELECT): Ending execution. MPRINT(VISUSQUART): ; MLOGIC(VISUSQUART): %DO loop index variable I is now 12; loop will iterate again. MLOGIC(KKWSELECT): Beginning execution. MLOGIC(KKWSELECT): Parameter DATEI has value quartile MLOGIC(KKWSELECT): Parameter VAR1 has value quart MLOGIC(KKWSELECT): Parameter VAR2 has value logmar12 MLOGIC(KKWSELECT): %IF condition &datei= is FALSE MPRINT(KKWSELECT): proc npar1way data=quartile wilcoxon noprint; MPRINT(KKWSELECT): title1 "Wilcoxon-Test für logmar12 klass. nach quart"; MPRINT(KKWSELECT): class quart; MPRINT(KKWSELECT): var logmar12; MPRINT(KKWSELECT): ods output KruskalWallisTest = kkwtest WilcoxonScores = wiltest; MPRINT(KKWSELECT): NOTE: There are no valid requests for printed output or an output data set, so processing will terminate. NOTE: PROCEDURE NPAR1WAY used (Total process time): real time 0.00 seconds cpu time 0.00 seconds WARNING: Output 'WilcoxonScores' was not created. Make sure that the output object name, label, or path is spelled correctly. Also, verify that the appropriate procedure options are used to produce the requested output object. For example, verify that the NOPRINT option is not used. WARNING: Output 'KruskalWallisTest' was not created. Make sure that the output object name, label, or path is spelled correctly. Also, verify that the appropriate procedure options are used to produce the requested output object. For example, verify that the NOPRINT option is not used.

MLOGIC(KKWSELECT): %IF condition %sysfunc(exist(kkwtest))>0 is FALSE MLOGIC(KKWSELECT): Ending execution. (visusquart ist dabei das Macro, das dieses aufruft und deshalb im Log erschient) NOPRINT Hallo, 9 February, 2010-15:09 Wolfgang Hornung im Warning steht "...For example, verify that the NOPRINT option is not used. ". Aber genau diese Option benutzt Du im Code. proc npar1way data=&datei wilcoxon noprint; Ich kenne mit mich mit dieser Prozedur zwar nicht aus, aber das könnte ein Grund sein. Viele Grüße Wolfgang Ne, das ist es wohl nicht, 10 February, 2010-09:37 SAS-Fidi Ne, das ist es wohl nicht, denn das Macro läuft einwandfrei, wenn die Dateien kkwtest und wiltest von der Prozedur angelegt werden. Nur wenn das nicht passiert, wird dieses Warning erzeugt. Das Noprint muß stehen bleiben, da an dieser Stelle kein Output erzeugt werden soll. Stattdsessen wird dann später eine Excel-Datei mit den fraglichen Werten erzeugt. Alles andere würde die Enduser nur verwirren. Noprint ist nun raus 10 February, 2010-10:26 SAS-Fidi Habs gerade ausprobiert. Wenn ich das Noprint rauslösche, dann gibts die Warning nicht mehr. Dafür erhalte ich dann aber eine Menge nicht benötigte Outputs (>100 nicht benötigter npar1way-statistiken). ODS LISTING CLOSE Hallo Elfride, hast Du schon mal probiert, vor das PROC NPAR1WAY ein 10 February, 2010-11:21 Tobias Hentschel

ODS LISTING CLOSE; zu stellen? Dann noch ODS LISTING; nach dem RUN; der Procedur, dann müsste der ungewünschte Output doch auch unterdrückt werden, oder? VG Tobias Danke, das funktioniert. Danke, das funktioniert. 10 February, 2010-13:42 SAS-Fidi Seltsamerweise werden aber im Resultfenster dann trotzdem die ganzen Npar1way-Statistiken angezeigt, obwohl sie sich nicht im Output befinden. Diese Ausgaben im 23 February, 2010-14:24 SAS-Fidi Diese Ausgaben im Resultfenster verwirren die anderen hier sehr, habe bisher aber keine Möglichkeit gefunden, sie zu unterdrücken. Weiß jemand Rat? (Klickt man auf diese Links im Resultfenster, werden die Dateien mit den Ergebnissen angezeigt.) Unterdrücken von Output Hallo Elfriede, 12 March, 2010-11:41 Holger Bargen Den Output im Outputfenster kann man mit folgendem Befehl unterdrücken: proc Printto print=null; Angeschaltet wird der Output dann wieder mit: proc Printto; Wenn Du also vor Deiner npar1way den Output unterdrückst und es danach wieder anschaltest, dann produziert dein npar1way keinerlei Output ins Output Fenster. Gewünschte Ergebnisse müßte man dann anschliessend durch Ausdrucken der ODS Ergebnisfiles im Output verfügbar machen. Ich persönlich verwende den Output aber kaum noch. Ich erzeuge einen

ODS RTF File, in dem wirklich alles drin ist und einen ODS PDF File, in dem ich nur die für die Auswertung essentiellen Ergebnisse drin stehen. Da hab ich dann auch gleich alles in der von mir gewünschten Form grafisch aufbereitet. Viele Grüße Holger Ich hatte gleiches Problem. 18 August, 2014-14:50 Chris86 Ich hatte gleiches Problem. Habe mir den gewünschten Output per ODS OUTPUT weggeschrieben und trotz ODS SELECT none wurde im Outputfenster die PROC's erwähnt ohne dass man jedoch die Ergebnisse sehen kann. Dies kostete mich viel Rechenzeit, aber mit der Option "ODS NORESULTS" wird dies wunderbar ignoriert. Ungefähr so vielleicht. Hi Elfriede, 9 February, 2010-14:18 wusaa hatte deine Frage falsch verstanden... Sorry. Also du könntest dass so machen... %if %sysfunc(exist(work.x2))=0 %then %do; wenn ich es recht in Erinnerung habe prüft fileexist nach einer externen Datei. Grüße Niko Das fileexist falsch sein 9 February, 2010-14:21 SAS-Fidi Das fileexist falsch sein muß, war mir gerade noch selbst aufgefallen, hatte es deshalb unten noch geändert. Sorry, wenn das jetzt für Verwirrung sorgt. Also exist gibt die 0 aus, wenn das File existiert, richtig? Fileref paßt dann nicht, oder? (gerade etwas verwirrt bin...) Nein 9 February, 2010-14:30 wusaa Nein. exist liefert die 0 wenn die Datei nicht exisitert und eine 1 wenn die Datei existiert.

schon klar Jupp, habs auch gemerkt, guck mal unten! 9 February, 2010-14:33 SAS-Fidi Ganz vielen Dank!