<?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 Re: SAS Query in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SAS-Query/m-p/615614#M180074</link>
    <description>&lt;P&gt;The penalties is 829, but winning is 800 only.&amp;nbsp; Penalties cannot more than winning, hence can only deduct max 800 for ID 113.&lt;/P&gt;</description>
    <pubDate>Tue, 07 Jan 2020 10:49:44 GMT</pubDate>
    <dc:creator>scb</dc:creator>
    <dc:date>2020-01-07T10:49:44Z</dc:date>
    <item>
      <title>SAS Query</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Query/m-p/615610#M180071</link>
      <description>&lt;P&gt;I have the below dataset, and both dataset is linked by ID.&amp;nbsp; I would like to deduct the penalty from the winning; and to get the final penalty balance for individual case.&amp;nbsp; Anyone can help? Many Thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DATA PENALTY;&lt;BR /&gt;INPUT GAME $ CASE $ ID $ PENALTY;&lt;BR /&gt;CARDS;&lt;BR /&gt;CC C1 111 480&lt;BR /&gt;HL H1 111 1120&lt;BR /&gt;SI S1 111 800&lt;BR /&gt;CC C2 112 750&lt;BR /&gt;SI S2 113 829&lt;BR /&gt;;&lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DATA WINNING;&lt;BR /&gt;INPUT ID $ WINNING;&lt;BR /&gt;CARDS;&lt;BR /&gt;111 3000&lt;BR /&gt;112 700&lt;BR /&gt;113 800&lt;BR /&gt;;&lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Desired output:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dataset Winning (Penalties variable is the aggregate of penalty variable for individual ID, and must not more than the "winning")&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Winning&amp;nbsp; Penalties&amp;nbsp; Final&lt;/P&gt;&lt;P&gt;111&amp;nbsp;&amp;nbsp; 3000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2400&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 600&lt;/P&gt;&lt;P&gt;112&amp;nbsp;&amp;nbsp; 700&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 700&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;113&amp;nbsp;&amp;nbsp; 800&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 800 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dataset Penalty (Balance variable is the balance penalties that have not been deducted from the winning)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GAME&amp;nbsp;&amp;nbsp; CASE&amp;nbsp; ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PENALTY&amp;nbsp;&amp;nbsp; BALANCE&lt;BR /&gt;CC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 111&amp;nbsp;&amp;nbsp; 480&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;BR /&gt;HL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; H1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 111&amp;nbsp;&amp;nbsp; 1120&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;BR /&gt;SI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; S1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 111&amp;nbsp;&amp;nbsp;&amp;nbsp; 800&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;BR /&gt;CC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 112&amp;nbsp;&amp;nbsp; 750&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 50&lt;BR /&gt;SI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; S2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 113&amp;nbsp;&amp;nbsp; 829 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 29&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 07 Jan 2020 10:53:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Query/m-p/615610#M180071</guid>
      <dc:creator>scb</dc:creator>
      <dc:date>2020-01-07T10:53:00Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Query</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Query/m-p/615611#M180072</link>
      <description>&lt;P&gt;How come final=0 for ID=113?&lt;/P&gt;</description>
      <pubDate>Tue, 07 Jan 2020 10:37:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Query/m-p/615611#M180072</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2020-01-07T10:37:22Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Query</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Query/m-p/615614#M180074</link>
      <description>&lt;P&gt;The penalties is 829, but winning is 800 only.&amp;nbsp; Penalties cannot more than winning, hence can only deduct max 800 for ID 113.&lt;/P&gt;</description>
      <pubDate>Tue, 07 Jan 2020 10:49:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Query/m-p/615614#M180074</guid>
      <dc:creator>scb</dc:creator>
      <dc:date>2020-01-07T10:49:44Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Query</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Query/m-p/615628#M180083</link>
      <description>&lt;P&gt;One way&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
    format id winning Penalties Final;
    if _N_=1 then do;
        dcl hash h(ordered:'y');
        h.definekey('ID');
        h.definedata('Penalties');
        h.definedone();

        do until (lr);
            set penalty end=lr;
            if h.find() ne 0 then Penalties=penalty;
            else Penalties+penalty;
            h.replace();
        end;
    end;

    set winning;
    rc=h.find();

    if winning &amp;lt;= Penalties then Penalties=winning;
    Final=winning-Penalties;

    keep id winning Penalties Final;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 07 Jan 2020 11:21:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Query/m-p/615628#M180083</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2020-01-07T11:21:32Z</dc:date>
    </item>
  </channel>
</rss>

