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

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

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