<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Erstellen Ausgangsgrupep aus Gesamtgruppe in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Erstellen-Ausgangsgrupep-aus-Gesamtgruppe/m-p/902569#M356697</link>
    <description>&lt;P&gt;Hallo,&amp;nbsp;&lt;BR /&gt;Ich möchte gerne aus meinem Datensatz mit vielen Patienten, die Patienten herausgreifen, die mindestens einmal aza_absetzenjemals=1 haben. Wenn dies mindestens einmal erfolgt ist, sollen alle Einträge mit dieser pati_id in eine neue Liste die Ausgangsgruppe übernommen werden.&amp;nbsp;&lt;BR /&gt;Die pati_id sind zudem nach der Anzahl besuche aufsteigend sortiert.&amp;nbsp;&lt;BR /&gt;Ich habe bisher diesen Code geschrieben, allerdings erhalte ich dann in Ergebnis eine Liste, in der die Werte unterhalb des ersten Falles von aza_absetzenjemals=1 immer 1 anzeigen. Überhalb jedoch bleibt der Wert auf 0.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;data TG1_Help;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; set TG1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; by pati_id;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; retain aza_absetzenjemals;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;lag_pati_id = lag(pati_id);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;lag_aza_absetzenjemals=lag(aza_absetzenjemals);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; * Initialisiere die Liste für pati_ids;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if _N_ = 1 then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; declare hash pati_ids();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pati_ids.defineKey('pati_id');&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pati_ids.defineDone();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;put pati_id visit aza_absetzenjemals;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if aza_absetzenjemals = 1 then do;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; do index = _N_-1 to 1 by -1 while(pati_id=lag_pati_id and lag_aza_absetzenjemals ne 1);&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;put pati_id visit index lag_pati_id aza_absetzenjemals lag_aza_absetzenjemals;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;aza_absetzenjemals=1;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;put pati_id visit index lag_pati_id aza_absetzenjemals lag_aza_absetzenjemals;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;*output;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;put pati_id visit index lag_pati_id aza_absetzenjemals lag_aza_absetzenjemals;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;set TG1 point=index;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; else do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;put pati_id visit index lag_pati_id aza_absetzenjemals lag_aza_absetzenjemals;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;aza_absetzenjemals=0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;put pati_id visit index lag_pati_id aza_absetzenjemals lag_aza_absetzenjemals;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;*output;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;end;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;output;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;run;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;proc print data=TG1_Help;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;var pati_id visit aza_absetzenjemals;&lt;/DIV&gt;&lt;DIV&gt;run;&lt;/DIV&gt;&lt;P&gt;&lt;BR /&gt;Ich bin über jede Hilfe dankbar!&lt;BR /&gt;Liebe Grüße Franzi&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 10 Nov 2023 18:08:30 GMT</pubDate>
    <dc:creator>XFranziska</dc:creator>
    <dc:date>2023-11-10T18:08:30Z</dc:date>
    <item>
      <title>Erstellen Ausgangsgrupep aus Gesamtgruppe</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Erstellen-Ausgangsgrupep-aus-Gesamtgruppe/m-p/902569#M356697</link>
      <description>&lt;P&gt;Hallo,&amp;nbsp;&lt;BR /&gt;Ich möchte gerne aus meinem Datensatz mit vielen Patienten, die Patienten herausgreifen, die mindestens einmal aza_absetzenjemals=1 haben. Wenn dies mindestens einmal erfolgt ist, sollen alle Einträge mit dieser pati_id in eine neue Liste die Ausgangsgruppe übernommen werden.&amp;nbsp;&lt;BR /&gt;Die pati_id sind zudem nach der Anzahl besuche aufsteigend sortiert.&amp;nbsp;&lt;BR /&gt;Ich habe bisher diesen Code geschrieben, allerdings erhalte ich dann in Ergebnis eine Liste, in der die Werte unterhalb des ersten Falles von aza_absetzenjemals=1 immer 1 anzeigen. Überhalb jedoch bleibt der Wert auf 0.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;data TG1_Help;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; set TG1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; by pati_id;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; retain aza_absetzenjemals;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;lag_pati_id = lag(pati_id);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;lag_aza_absetzenjemals=lag(aza_absetzenjemals);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; * Initialisiere die Liste für pati_ids;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if _N_ = 1 then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; declare hash pati_ids();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pati_ids.defineKey('pati_id');&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pati_ids.defineDone();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;put pati_id visit aza_absetzenjemals;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if aza_absetzenjemals = 1 then do;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; do index = _N_-1 to 1 by -1 while(pati_id=lag_pati_id and lag_aza_absetzenjemals ne 1);&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;put pati_id visit index lag_pati_id aza_absetzenjemals lag_aza_absetzenjemals;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;aza_absetzenjemals=1;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;put pati_id visit index lag_pati_id aza_absetzenjemals lag_aza_absetzenjemals;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;*output;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;put pati_id visit index lag_pati_id aza_absetzenjemals lag_aza_absetzenjemals;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;set TG1 point=index;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; else do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;put pati_id visit index lag_pati_id aza_absetzenjemals lag_aza_absetzenjemals;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;aza_absetzenjemals=0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;put pati_id visit index lag_pati_id aza_absetzenjemals lag_aza_absetzenjemals;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;*output;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;end;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;output;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;run;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;proc print data=TG1_Help;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;var pati_id visit aza_absetzenjemals;&lt;/DIV&gt;&lt;DIV&gt;run;&lt;/DIV&gt;&lt;P&gt;&lt;BR /&gt;Ich bin über jede Hilfe dankbar!&lt;BR /&gt;Liebe Grüße Franzi&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Nov 2023 18:08:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Erstellen-Ausgangsgrupep-aus-Gesamtgruppe/m-p/902569#M356697</guid>
      <dc:creator>XFranziska</dc:creator>
      <dc:date>2023-11-10T18:08:30Z</dc:date>
    </item>
    <item>
      <title>Re: Erstellen Ausgangsgrupep aus Gesamtgruppe</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Erstellen-Ausgangsgrupep-aus-Gesamtgruppe/m-p/902615#M356712</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Das folgende program erstellt zunächst eine Hash-Tabelle und lädt sie mit allen Patienten-IDs, die mindestens einen Fall (eine Zeile) mit aza_absetzenjemals=1 haben. Anschließend wählt die Logik alle Zeilen aus TG1 aus, die eine übereinstimmende patient_id in der Hash-Tabelle haben.&lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data TG1_Help;
  * Initialisiere die Liste für pati_ids;
  if _N_ = 1 then
    do;
      /* Hash liste mit pati_id's die mindestens einmal aza_absetzenjemals=1 haben */
      declare hash pati_ids(dataset:'TG1(where=(aza_absetzenjemals=1 ))');
      pati_ids.defineKey('pati_id');
      pati_ids.defineDone();
    end;

  set TG1;

  if pati_ids()=0 then output;

run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 11 Nov 2023 01:59:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Erstellen-Ausgangsgrupep-aus-Gesamtgruppe/m-p/902615#M356712</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2023-11-11T01:59:36Z</dc:date>
    </item>
  </channel>
</rss>

