ETL & Base SAS

Zugriff auf Daten, Aufbereitung und Speicherung von Daten: Zugriff auf Datenbanken und andere Datenformate mit SAS/ACCESS und SAS/BASE; Aufbereitung von Daten mit dem SAS Data-Schritt, PROC SQL und weiteren SAS-Prozeduren; Verwendung der Werkzeuge SAS ETL Studio und SAS Warehouse Administrator und weiterer Werkzeuge; Verbesserung der Datenqualität, auch mit SAS Data Quality; Datenspeicherung als SAS Datasets, auch mit SAS/SHARE, auf SAS-Datenbankservern (SPD) oder in Datenbankmanagementsystemen anderer Hersteller.

Macro Tabellen in fortlaufende Nummer erstellen?!?!

Hallo Zusammen,


ich möchte gerne einen join ausführen und forlaufend nummierte Tabellen erzeugen
Warum zum Teufel funktioniert dieser Macro nicht? (:-(

%Macro land_(Datensatz, n);
proc sql;
create table db.schluessel_brd_land_&n as
select distinct l.schluessel, l.land
from db.schluessel_land as sl inner join db.land_&n as l on sl.land=l.land;
quit;
%mend land_;
%land_(3)


Als Fehlermeldung erhalte ich:

36 %Macro land_(Datensatz, n);
37 proc sql;
38 create table db.schluessel_brd_land_&n as

zusammenfassen von Text variablenin einer Variable bei unterschiedlicher Variablenanzahl

Hallo zusammen,

Ich habe folgendes Problem:
In einer Datei habe ich die Variablen col_1 - col_x. Mal ist x = 2 oder 3 oder 4 oder...

Es sind alles string-Variablen.

Ich möchte nun die Inhalte aller Variablen in einer Variablen - getrennt durch ein Leerzeichen -aneinanderreihen.

Bei bekannter Anzahl ist es einfach:

neue_Vari= col_1 !!" " !! col_2 !! " " !! col_3;

Weiß jemand Rat , wie man das flexibel gestalten kann ?

Gruß

Eric Berger
HSL Wiesbaden

Dringend! proc Format Häufigkeiten innerhalb einer Altersklasse

Hallo Zusammen,

ich möchte gerne die Häufigkeiten innerhalb der Altersklassen
Warum klappt das nicht?!?! .-(

Gruppe           Total	Male	Female
jünger als 15       x    y        z
15-20               x    y        z

ausweisen.

und verwende folgende Proc SQL syntax

proc sql;
create table db.Haeufigkeit_GDR as
select
put(alter,age.) as Alter, count(Total) as Gesamt format commax12.2
from db.Population_GDR
group by alter;
quit;

Als Ergebnis: ?!?!

Alter            Gesamt

PROC DATASETS - output stament

Hallo zusammen,

kann mir jemad sagen, wie man eine Liste aller SAS-Dateien die z.B. in der library work sind, in eine Datei schreibt?

Bei PROC DATASETS finde ich keine Möglichkeit ein output statment zu setzen.

Gruß

Eric Berger
HSL Wiesbaden

SQL mit SAS: Band 2 erschienen

Hallo zusammen,

Ich freue mich, endlich über das Erscheinen des zweiten Bands der zweibändigen Einführung in PROC SQL informieren zu dürfen.

Band 2 möchte die eigentliche Power von SAS vorstellen und ist für Fortgeschrittene in PROC SQL oder SAS Base geschrieben.

Kapitel 1 bietet eine Übersicht über Band 2 und Band 1.

Proc Format Altersgruppen ?!?!

Hallo Zusammen,

Ich möchte gerne die Häufigkeiten für einzelne Altersgruppen ausweisen.

proc format;
value age low-14="jünger als 15"
15-20="15-20"
21-25="21-25"
26-30="26-30"
31-35="31-35"
36-40="36-40"
41-45="41-45"
46-50="46-50"
51-55="51-55"
56-60="56-60"
61-65="61-65"
66-70="66-70"
70-high="70 und älter";
run;

Wie bekomme ich folgende Ausgabe mit PROC SQL???????????????????????????:

Alter Anzahl

15-20 4
21-25 10
.
.
.

PROC FORMAT mit ein Übergabe-Variablen?

Hallo Miteinander,

ich habe eine Tabelle, über die ein Format gelegt werden soll.
Übergeben werden sollen 2 Variablen, Rückgabe soll ein Wert sein.
Die Tabelle sieht so aus:
Name1 (Alphanumerisch)
Name2 (Alphanumerisch)
Name3 (Alphanumerisch)
Ich möchte also aus der Bedingung Name1 und Name2 den Wert aus Name3 zurückbekommen.
Muß ich da nun vorher eine Tabelle erstellen, in der ich Name1 und Name2 miteinander verknüpfe? Also z.B

Wert1 = cats(Name1 ,Name2);

Oder gibt es da eine "elegantere" Lösung?

Vielen Dank im Voraus für Eure Hilfe!

Viele Grüße,
Karin

import MySQL Datenbank/Tabellen nach SAS / Dringend!!

Hallo zusammen,

ich möchte gerne einen Prototypen bauen und die Tabellen der (MySQL) Datenbank „Uebungen" nach SAS importieren.

http://www.herdt.de/artikel/SQL-Neubearbeitung-2009-VK06683/?query=sql&type=product&sort=0

->download Übungsdateien nach:

Pfad:
C:\Sql2009_bu\BU_SQL_ MySQL\Übungsdatenbanken\Uebungen

Was ist der einfachste und effektivste Weg?

5er Rundung im picture-Format

Hallo zusammen,
ich hab mal wieder ein Problem.

Ich aggregiere Daten mit Hilfe eines Formates im proc tabulate. Jetzt möchte ich runden mit picture-format. Normalerweise kein Problem:

data test;
do i=1 to 40 by 3;
Ort = i;
Einwohner = 3000+i;
output;end;
run;

proc format;
value Kreis
low - 5 ='Kreis1'
6 - high = 'Kreis2'
;
picture pic_round (round)
0 = '_'
1 - high = 000.000.009 (decsep= ',' dig3sep='.')
;
run;

proc tabulate data= test;
class ort;
var Einwohner;
table
ort*einwohner*F=pic_round.;
format ort kreis.;
run;

Einlesen von Textdateien mit sehr langen Zeilen

Im Umgang mit SAS bin ich Neuling und versuche gerade, eine aus Excel exportierte Messwerttabelle einzulesen (mit Tabulator als Trennzeichen). (Das SAS läuft auf einem Unix-Server; daher dürfte direkter Excel-Import schwierig sein, nehme ich an. Richtig?)

Inhalt abgleichen