Community deutschsprachiger SAS-Anwender und -Programmierer

Antworten
Dies ist eine offene Gruppe. Melden Sie sich an und klicken Sie auf die Schaltfläche „Gruppe beitreten“, um Mitglied zu werden und damit zu beginnen, Beiträge in dieser Gruppe zu veröffentlichen.
Highlighted
Occasional Contributor
Beiträge: 12
Zeitmessung von Import - Grafikerstellung - Korrelation - Lineare Modell

Hallo Leute,

 

vlt. habe ich hier mehr Erfolg Smiley (fröhlich)

 

Ich schreibe zurzeit an meiner Bachelorthesis (Performance Vergleich zwischen SAS und R).

 

Ich habe nahezu 0 Wissen in SAS, nur was wir in Uni gemacht haben.

 

Jetzt zu meiner Frage:

 

Wie lautet der SAS Code zu dem Pseudocode:

 

Start1 = Systemzeit;

Erzeuge Daten durch Import

                von Datei = „xxxx“ ;

Ende1 = Systemzeit;

Durchlaufzeit1 = ende1 – start1 ;

Erzeuge eine Grafik ;

Ende2 = Systemzeit;

Durchlaufzeit2 = ende2 – ende1 ;

Führe Korrelations-Algorithmus aus ;

Ende3 = Systemzeit;

Durchlaufzeit3 = ende3 – ende2 ;

Führe Lineare Modell-Algorithmus aus;

Ende4 = Systemzeit;

Durchlaufzeit4 = ende4 – ende3 ;

Print Durchlaufzeit 1,2,3,4 ;

 

 

Bei R habe ich es hin bekommen, nur leider bei SAS hänge ich seit 5 Tagen dran :/

 

Der Code bei R:

 

R-Code.png

Frequent Contributor
Beiträge: 109
Betreff: Zeitmessung von Import - Grafikerstellung - Korrelation - Lineare Modell

Hallo,

 

schaue Dir doch mal die FULLSTIMER Option an:

http://support.sas.com/rnd/scalability/tools/fullstim/

 

Das gibt Dir im Log die Zeiten der jeweiligen Programmschritte aus.

 

Ansonsten stellt sich die Frage, was genau Du bei SAS nicht abgebildet bekommst.

Das Speichern der Zeiten, das Erstellen der Grafik, das Abbilden der Algorithmen?

 

Viele Grüße

Michael

New Contributor
Beiträge: 3
Betreff: Zeitmessung von Import - Grafikerstellung - Korrelation - Lineare Modell

Moin.

 

In SAS musst Du ein kleines Programm drumrum bauen, dass die einzelnen Schritte ausführt.

 

%macro Import_der_Daten;
    /* Code für Import */
%mend;

%macro Grafik_erstellen;
    /* Code für Grafik */
%mend;

%macro Korrelations_Algorithmus;
    /* Code für Korrelations-Algorithmus */
%mend;

%macro Linear_Modell_Algorithmus;
    /* Code für Lineare Modell-Algorithmus */
%mend;

%macro Hauptprogramm;
    %let ende0 = %sysfunc(datetime());
    %Import_der_Daten;
    %let ende1 = %sysfunc(datetime());
    %Grafik_erstellen;
    %let ende2 = %sysfunc(datetime());
    %Korrelations_Algorithmus;
    %let ende3 = %sysfunc(datetime());
    %Linear_Modell_Algorithmus;
    %let ende4 = %sysfunc(datetime());
    data _null_;
        ende0 = &ende0.;
        ende1 = &ende1.;
        ende2 = &ende2.;
        ende3 = &ende3.;
        ende4 = &ende4.;
        dauer1 = ende1 - ende0;
        dauer2 = ende2 - ende1;
        dauer3 = ende3 - ende2;
        dauer4 = ende4 - ende3;
        put        @05 "Start"            @28 "Ende"             @51 "Dauer"
           /@1 "1" @05 ende0 datetime20.3 @28 ende1 datetime20.3 @51 dauer1 time11.3
           /@1 "2" @05 ende1 datetime20.3 @28 ende2 datetime20.3 @51 dauer2 time11.3
           /@1 "3" @05 ende2 datetime20.3 @28 ende3 datetime20.3 @51 dauer3 time11.3
           /@1 "4" @05 ende3 datetime20.3 @28 ende4 datetime20.3 @51 dauer4 time11.3
           ;
    run;
%mend;

%Hauptprogramm;

 

Viele Grüße

Michael

 

Occasional Contributor
Beiträge: 12
Betreff: Zeitmessung von Import - Grafikerstellung - Korrelation - Lineare Modell

Wow, das hilft mir sehr Danke !

Esteemed Advisor
Beiträge: 6.706
Betreff: Zeitmessung von Import - Grafikerstellung - Korrelation - Lineare Modell

Im Grunde nur die Erweiterung meines Vorschlags in https://communities.sas.com/t5/Base-SAS-Programming/Time-measurement/m-p/328349

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Occasional Contributor
Beiträge: 12
Betreff: Zeitmessung von Import - Grafikerstellung - Korrelation - Lineare Modell

Vielen Dank für die hilfreiche Antworten !

 

Doch leider habe ich jetzt das nächste Problem..

 

Ich habe eine CSV Datei mit 157 Variablen und 2.500 - 1.250.000 Zeilen ( 10 Dateien)

 

Ich will es ganz normal Importierten, bzw einlesen mit Infile Methode, es klappt einfach nicht. Habe es auch mit Import methode Probiert, kommt gleiche Meldung

 

Hatte bei der Uni nie solche Probleme, seitdem ich die "Student-Version" auf Laptop gemacht habe, funktioniert nichts mehr

 

1.PNG

 

2.PNG

Occasional Contributor
Beiträge: 8
Betreff: Zeitmessung von Import - Grafikerstellung - Korrelation - Lineare Modell

Hallo @motrip94,

 

durch den '\' im Filename-Statement nimmt SAS einen relativen Pfad an.

 

Mit dem Infile-Statement

Infile 'C:\USers\sinca\Downloads\Daten\DataV1.csv';

ist die Datei ansprechbar, sofern es sie in dem Ordner gibt.

 

 

Viele Erfolg!

Occasional Contributor
Beiträge: 12
Betreff: Zeitmessung von Import - Grafikerstellung - Korrelation - Lineare Modell
[ Bearbeitet ]

Hatte wohl '/'  vergessen weg zu machen.. 

 

Es kommt gleiche Fehlermeldung.. Habe alles mögliche versucht ( ' durch " ersetzt , / verändert ) kommt immer gleiche Fehlermeldung

 

3.PNG

New Contributor
Beiträge: 3
Betreff: Zeitmessung von Import - Grafikerstellung - Korrelation - Lineare Modell

Es scheint, dass SAS auf einem UNIX-System installiert ist, zumindest deutet die Fehlermeldung

"Physical file does not exist, /opt/sasinside/..."

darauf hin. Da kommst Du mit einer Windows-Pfad-Angabe nicht wirklich weit... ;-)

Occasional Contributor
Beiträge: 12
Betreff: Zeitmessung von Import - Grafikerstellung - Korrelation - Lineare Modell

Ja die University Edition läuft auf ein UNIX - Virtuelle Maschine. Ist aber auf ein Windows Laptop installiert. Jetzt will ich auf ein Datei zugreifen, das im Windows Laptop gespeichert ist .. ^^

Contributor
Beiträge: 24
Betreff: Zeitmessung von Import - Grafikerstellung - Korrelation - Lineare Modell

Hi,

 

du musst auf der virtuellen Maschine ein Windowsverzeichnis mit den Daten in das unix durchreichen (Austauschverzeichnis). In deinem Code musst Du dann den Unixpfad auf das Austauschverzeichnis verwenden.

 

Viele Grüße

Jan

Occasional Contributor
Beiträge: 12
Betreff: Zeitmessung von Import - Grafikerstellung - Korrelation - Lineare Modell

Habe genau nach der Anleitung gemacht:

 

Ordner in VM eingebunden:5.PNG

 

4.PNG

 

 

Trz kommt Fehlermeldung (Glaube die Syntax ist diesmal richtig)

 

6.PNG

 

Esteemed Advisor
Beiträge: 6.706
Betreff: Zeitmessung von Import - Grafikerstellung - Korrelation - Lineare Modell

Schau im Analytics U Forum nach, da findest du alle Tips für den richtigen Umgang mit Files.

 

Bei der Einrichtung der virtuellen Maschine, in der die UE läuft, legt man einen Shared Folder fest, so dass ein dafür eingerichtetes Windows-Verzeichnis im UNIX sichtbar wird (idR als /folders/myfolder). In dieses Verzeichnis kopiert man im Windows die Dateien, um sie dann in UE abrufen zu können. Wichtig ist die Verwendung der UNIX Dateisyntax, inklusive der Tatsache, dass UNIX case-sensitive ist.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Occasional Contributor
Beiträge: 12
Betreff: Zeitmessung von Import - Grafikerstellung - Korrelation - Lineare Modell
[ Bearbeitet ]

Habe das inzwischen hin bekommen,

 

Eine letzte frage: Beim Infile werden die Variablen nicht erkannt. Da steht nur " 2500 observations and 0 Variables " . Ich könnte bei Input 157 Variablen eintragen, aber das wäre nicht die feine art. Gibt es eine andere möglichkeit vom "Header" die Variablen abzulesen?

 

PS: es sind only 2 Variablen Num. Rest sind alles "Texte"

Esteemed Advisor
Beiträge: 6.706
Betreff: Zeitmessung von Import - Grafikerstellung - Korrelation - Lineare Modell

input alleine liest nur die Zeile in den Buffer, den man unter dem vorgegebenen Namen _infile_ abrufen kann. Ohne Variablen im input werden auch keine erzeugt.

Ich würde empfehlen, zuerst mal mit proc import einen Test zu machen. Damit erhält man im Log einen automatisch erstellten data step, den man dann adaptieren kann. Proc import verwendet auch die erste Zeile zur Ermittlung der Variablennamen.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers