Tabelle in mehrere aufteilen
Verfasst von judith38 am 22 Juni, 2009 - 10:10
Hallo liebe Leute,
ich habe eine große Tabelle, in der zu jedem Kunden jeder Katalog mit Jahr aufgeführt wird, den er bis jetzt bekommen hat! Ich möchte daraus neue Tabellen erzeugen, die alle Kataloge mit entsprechendem Jahr(weil die sich im neuen Jahr wiederholen) und allen Kunden, die diesen bekommen haben!
Ein Bsp.-Datensatz:
NUM annee doc
210001 2007 AP1
210001 2008 AP5
210002 2007 AG1
210002 2008 AP1
210002 2009 AE7
Num: Kundennummer
annee: Jahr
doc: Katalogname
Weiß jemand, wie ich das machen soll?
Liebe Grüße, Judith
»
- Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Danke, jetzt
Vielen Danke, jetzt funktioniert es!
LG, Judith
Für mich ist das was du
Für mich ist das was du schreibst, das was du schon hast. Der Einfachheit halber mach doch auch die entsprechenden Beispiele für die Zieltabellen.
Gruß
Simon
Sorry, hab mich wohl nicht
Sorry, hab mich wohl nicht verständlich ausgedrückt:)
Hier Beispieltabellen:
NUM annee doc
210001 2007 AP1
210003 2007 AP1
210015 2007 AP1
210126 2007 AP1
.
.
.
oder
NUM annee doc
210001 2008 AP5
210025 2008 AP5
210335 2008 AP5
217001 2008 AP5
225066 2008 AP5
.
.
.
Ich möchte also alle möglichen Tabellen erzeugen, die alle Kataloge enthalten mit den jeweiligen Kunden, die genau diesen Katalog in diesem Jahr bekommen haben.
Ich hoffe, du verstehst, was ich meine? Es gehört nicht gerade zu meinen Stärken, mich klar und deutlich auszudrücken:)
LG, Judith
Puh, ich hoffe ich habe jetzt
Puh, ich hoffe ich habe jetzt richtig verstanden.
input NUM annee doc $;
cards;
210001 2007 AP1
201214 2007 AP1
210001 2008 AP1
210001 2008 AP5
210002 2007 AG1
210002 2008 AP1
210002 2009 AE7
;
proc sql;
select
distinct doc, annee
into
:dis_doc1-:dis_doc100,
:dis_annee1-:dis_annee100
from
gesamt
;
quit;
%LET nTables=&SQLOBS.;
%MACRO split;
DATA %DO i=1 %TO &nTables.;
&&dis_doc&i.._&&dis_annee&i.
%END;
;
SET gesamt;
SELECT;
%do i=1 %to &nTables.;
WHEN (doc="&&dis_doc&i." and annee=&&dis_annee&i.) THEN
OUTPUT &&dis_doc&i.._&&dis_annee&i.;
%end;
END;
RUN;
%MEND;
%split;
Das sollte zum erwünschten Ergebnis führen.
Gruß
Simon
Ui, danke! Das sieht gut aus,
Ui, danke! Das sieht gut aus, nur irgendwas stimmt nicht im Macro! Er meckert an der "When-Then-Anweisung" rum! Hab selber schon ein paar Sachen probiert, aber es geht nicht. Siehst du den Fehler?
LG, Judith
Das THEN in der
Das THEN in der "When-Then-Anweisung" ist überflüssig.
Seltsam, ich könnte schwören ich hätte es vorhin so ausprobiert...
Gruß
Simon