LesezeichenAbonnierenRSS-Feed abonnieren
Fay123
Obsidian | Level 7

Hallo wieder einmal,

 

ich habe eine Abfrage die mir die Daten nach Größe sortiert rauswirft (Im Data Integration Studio).

 

Ich möchte mir aber nur die 10 größten Fälle anzeigen lassen. Gibt es da eine Option beim Extract z.B.?

 

Danke im voraus!

3 ANTWORTEN 3
GrischaPfister
Fluorite | Level 6

Hallo FAY123,

 

sollte über den SQL-Sort mit descending und der Proc SQL Option outobs=10 relativ einfach machbar sein.

 

Viele Grüße,

 

Grischa

mfab
Quartz | Level 8

Hallo Fay,

 

das sollte mit einem Rank gehen. Hier lässt sich auch steuern, was mit zwei gleichen Beobachtungen geschehen soll.

Anschließend lässt sich ggf. mit einem Where die Ausgabe steuern oder das Ergebnis anderweitig weiterverarbeiten.

(Beispiel in Englisch: https://support.sas.com/documentation/cdl/en/etlug/66819/HTML/default/n1ekkk68nic8q9n1wf7b9o2rdm39.h...

 

Viele Grüße

mfab

GrischaPfister
Fluorite | Level 6

Hallo Fay,

 

noch eine schöne Variante - allerdings in einem User-Exist - ist Proc Means. Hier gibt es die Anweisung IDGROUP, die nach den Ausprägungen (min/max) einer Variable(-nliste) sortiert und dann die N ersten bzw. letzten Ausprägungen einer weiteren Variable(-nliste) in eine Datei speichert. Beispiel für eine Fragestellung: Gib mir Name, Alter und Geschlecht der zehn ältesten Schüler aus (Tabelle Sashelp.Class). Die Ergebnistabelle enthält für jeden Wert eine Variable und kann über Proc Transpose oder einen Data Step gedreht werden.

 

Hier ein Beispiel:


Proc Means noprint data=sashelp.class;
  Output out=Work.test
    idgroup(
      max(age) 
      out[10]
      (name age sex)=   
    )
  ;
Run;

Data Work.Test2 (keep=pos name age sex) ;
  Set Work.Test;
  Array _name n:;
  Array _age a:;
  Array _sex s:;

  Do i=1 To dim(_name);
    pos = i;
    name = _name(i);
    age = _age(i);
    sex = _sex(i);
    Output;
  End;
Run;

Viele Grüße,

 

  Grischa

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

Diskussionsstatistiken
  • 3 Antworten
  • 1355 Aufrufe
  • 3 Kudos
  • 3 in Unterhaltung