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
N/A
Beiträge: 0
Filterung von Daten

Liebe Community.

Ich habe leider ein Problem bei der Filterung von Daten mit dem WHERE clause.

Mein Befehl im Code-Window lautet wie folgt

data mydata.filtered;

set mydata.master;

where year>2000 and ind="FIRE=" and ind="Banking";

run;

SAS  gibt mir daraufhin keine Fehlermeldung aus, aber findet leider keine Beobachtungen, obwohl die Variablennamen definitiv mit der Ursprungsdatei übereinstimmen.

Der Hinweise lautet wie folgt:

  OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;

42 ;

43 data mydata.filtered;

44 set mydata.master;

45 where year>2000 and ind="FIRE=" and ind="Banking";

46 run;

NOTE: There were 0 observations read from the data set MYDATA.MASTER.

  WHERE 0 /* eine offensichtlich FALSCHE Where-Bedingung (FALSE) */ ;

NOTE: The data set MYDATA.FILTERED has 0 observations and 22 variables.

NOTE: DATA statement used (Total process time):

  real time 0.05 seconds

  cpu time 0.03 seconds

  

47 ;

48 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;

58 ;

Hat jemand schon mal das gleiche Problem gehabt und kann weiterhelfen?

Vielen Dank für die Hilfe.

Amelie

ps: Wenn ich nur den Befehl where year>2000; verwende klappt die Filterung. Mache ich mit der Syntax etwas falsch?

Community Manager
Beiträge: 529
Re: Filterung von Daten

Hi , I moved your inquiry into the Community Deutschprachiger SAS-Programmierer und -Anwender (CoDe SAS), where you can find help in your native language. Thank you for being part of our communities!

SAS Super FREQ
Beiträge: 618
Re: Filterung von Daten

Die Variable "ind" kann nicht gleichzeitig "FIRE=" und "Banking" enthalten. Ich gehe davon aus, dass ind "FIRE=" oder "Banking enthalten soll.

Das Where kann so aussehen:

where year>2000 and ind in ("FIRE=", "Banking");

Eventuell ist das = in "FIRE=" noch ein Tippfehler.