<?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: First.variable and Last.variable in query builder? in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/First-variable-and-Last-variable-in-query-builder/m-p/556858#M9910</link>
    <description>&lt;P&gt;Query Builder uses SQL which doesn't have the concept of FIRST/LAST.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Since it seems like all it does is create summary statistics you should be able to replace it with a Summary Task though.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/260063"&gt;@reminder65&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hello, I am a SAS learner,&amp;nbsp;trying to find a way to break down a hand-written code into series of query builders for more user friendly project.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The code is used in the Medical Expenditure Panel Survey workshop and stored in Github website: &lt;A href="https://raw.githubusercontent.com/HHS-AHRQ/MEPS/master/SAS/exercise_5a/Exercise5a.sas" target="_self"&gt;https://raw.githubusercontent.com/HHS-AHRQ/MEPS/master/SAS/exercise_5a/Exercise5a.sas&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is the output: &lt;A href="https://github.com/HHS-AHRQ/MEPS/blob/master/SAS/exercise_5a/Exercise5a_OUTPUT.TXT" target="_self"&gt;https://github.com/HHS-AHRQ/MEPS/blob/master/SAS/exercise_5a/Exercise5a_OUTPUT.TXT&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is the part I'm having trouble with. Please notice there is the use of First.variable and Last.variable to distinct two tables. Is there any way this part can be done in the query builder? The goal is to minimize the need to write codes in a program to get the result.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for help!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;PROC SORT DATA=CDATA.H181 (KEEP=DUPERSID DUID CPSFAMID FAMWT15C VARSTR VARPSU TOTSLF15 TTLP15X)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OUT=PERS;&lt;BR /&gt;&amp;nbsp; BY DUID CPSFAMID;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;DATA PERS2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAM (KEEP=DUID CPSFAMID FAMSIZE FAMOOP FAMINC);&lt;BR /&gt;SET PERS;&lt;BR /&gt;&amp;nbsp; BY DUID CPSFAMID;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LABEL FAMSIZE = '# OF PERSONS PER CPS FAMILY'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMOOP&amp;nbsp; = 'TOTAL OUT-OF-POCKET EXP (TOTSLF15) PER CPS FAMILY'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMINC&amp;nbsp; = 'TOTAL INCOME (TTLP15X) PER CPS FAMILY';&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;&amp;nbsp; IF FIRST.CPSFAMID THEN DO;&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMSIZE = 0 ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMOOP&amp;nbsp; = 0 ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMINC&amp;nbsp; = 0 ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMSIZE + 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMOOP&amp;nbsp; + TOTSLF15 ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMINC&amp;nbsp; + TTLP15X&amp;nbsp; ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OUTPUT PERS2;&lt;BR /&gt;&amp;nbsp;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IF LAST.CPSFAMID THEN OUTPUT FAM;&lt;/STRONG&gt;&lt;BR /&gt;RUN;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 07 May 2019 16:45:41 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2019-05-07T16:45:41Z</dc:date>
    <item>
      <title>First.variable and Last.variable in query builder?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/First-variable-and-Last-variable-in-query-builder/m-p/556829#M9896</link>
      <description>&lt;P&gt;Hello, I am a SAS learner,&amp;nbsp;trying to find a way to break down a hand-written code into series of query builders for more user friendly project.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The code is used in the Medical Expenditure Panel Survey workshop and stored in Github website: &lt;A href="https://raw.githubusercontent.com/HHS-AHRQ/MEPS/master/SAS/exercise_5a/Exercise5a.sas" target="_self"&gt;https://raw.githubusercontent.com/HHS-AHRQ/MEPS/master/SAS/exercise_5a/Exercise5a.sas&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the output: &lt;A href="https://github.com/HHS-AHRQ/MEPS/blob/master/SAS/exercise_5a/Exercise5a_OUTPUT.TXT" target="_self"&gt;https://github.com/HHS-AHRQ/MEPS/blob/master/SAS/exercise_5a/Exercise5a_OUTPUT.TXT&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the part I'm having trouble with. Please notice there is the use of First.variable and Last.variable to distinct two tables. Is there any way this part can be done in the query builder? The goal is to minimize the need to write codes in a program to get the result.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for help!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PROC SORT DATA=CDATA.H181 (KEEP=DUPERSID DUID CPSFAMID FAMWT15C VARSTR VARPSU TOTSLF15 TTLP15X)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OUT=PERS;&lt;BR /&gt;&amp;nbsp; BY DUID CPSFAMID;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DATA PERS2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAM (KEEP=DUID CPSFAMID FAMSIZE FAMOOP FAMINC);&lt;BR /&gt;SET PERS;&lt;BR /&gt;&amp;nbsp; BY DUID CPSFAMID;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LABEL FAMSIZE = '# OF PERSONS PER CPS FAMILY'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMOOP&amp;nbsp; = 'TOTAL OUT-OF-POCKET EXP (TOTSLF15) PER CPS FAMILY'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMINC&amp;nbsp; = 'TOTAL INCOME (TTLP15X) PER CPS FAMILY';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;&amp;nbsp; IF FIRST.CPSFAMID THEN DO;&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMSIZE = 0 ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMOOP&amp;nbsp; = 0 ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMINC&amp;nbsp; = 0 ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMSIZE + 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMOOP&amp;nbsp; + TOTSLF15 ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMINC&amp;nbsp; + TTLP15X&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OUTPUT PERS2;&lt;BR /&gt;&amp;nbsp;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IF LAST.CPSFAMID THEN OUTPUT FAM;&lt;/STRONG&gt;&lt;BR /&gt;RUN;&lt;/P&gt;</description>
      <pubDate>Tue, 07 May 2019 16:03:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/First-variable-and-Last-variable-in-query-builder/m-p/556829#M9896</guid>
      <dc:creator>reminder65</dc:creator>
      <dc:date>2019-05-07T16:03:17Z</dc:date>
    </item>
    <item>
      <title>Re: First.variable and Last.variable in query builder?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/First-variable-and-Last-variable-in-query-builder/m-p/556858#M9910</link>
      <description>&lt;P&gt;Query Builder uses SQL which doesn't have the concept of FIRST/LAST.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Since it seems like all it does is create summary statistics you should be able to replace it with a Summary Task though.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/260063"&gt;@reminder65&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hello, I am a SAS learner,&amp;nbsp;trying to find a way to break down a hand-written code into series of query builders for more user friendly project.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The code is used in the Medical Expenditure Panel Survey workshop and stored in Github website: &lt;A href="https://raw.githubusercontent.com/HHS-AHRQ/MEPS/master/SAS/exercise_5a/Exercise5a.sas" target="_self"&gt;https://raw.githubusercontent.com/HHS-AHRQ/MEPS/master/SAS/exercise_5a/Exercise5a.sas&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is the output: &lt;A href="https://github.com/HHS-AHRQ/MEPS/blob/master/SAS/exercise_5a/Exercise5a_OUTPUT.TXT" target="_self"&gt;https://github.com/HHS-AHRQ/MEPS/blob/master/SAS/exercise_5a/Exercise5a_OUTPUT.TXT&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is the part I'm having trouble with. Please notice there is the use of First.variable and Last.variable to distinct two tables. Is there any way this part can be done in the query builder? The goal is to minimize the need to write codes in a program to get the result.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for help!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;PROC SORT DATA=CDATA.H181 (KEEP=DUPERSID DUID CPSFAMID FAMWT15C VARSTR VARPSU TOTSLF15 TTLP15X)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OUT=PERS;&lt;BR /&gt;&amp;nbsp; BY DUID CPSFAMID;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;DATA PERS2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAM (KEEP=DUID CPSFAMID FAMSIZE FAMOOP FAMINC);&lt;BR /&gt;SET PERS;&lt;BR /&gt;&amp;nbsp; BY DUID CPSFAMID;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LABEL FAMSIZE = '# OF PERSONS PER CPS FAMILY'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMOOP&amp;nbsp; = 'TOTAL OUT-OF-POCKET EXP (TOTSLF15) PER CPS FAMILY'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMINC&amp;nbsp; = 'TOTAL INCOME (TTLP15X) PER CPS FAMILY';&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;&amp;nbsp; IF FIRST.CPSFAMID THEN DO;&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMSIZE = 0 ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMOOP&amp;nbsp; = 0 ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMINC&amp;nbsp; = 0 ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMSIZE + 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMOOP&amp;nbsp; + TOTSLF15 ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FAMINC&amp;nbsp; + TTLP15X&amp;nbsp; ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OUTPUT PERS2;&lt;BR /&gt;&amp;nbsp;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IF LAST.CPSFAMID THEN OUTPUT FAM;&lt;/STRONG&gt;&lt;BR /&gt;RUN;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 07 May 2019 16:45:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/First-variable-and-Last-variable-in-query-builder/m-p/556858#M9910</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-05-07T16:45:41Z</dc:date>
    </item>
    <item>
      <title>Re: First.variable and Last.variable in query builder?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/First-variable-and-Last-variable-in-query-builder/m-p/556943#M9922</link>
      <description>&lt;P&gt;If you don't actually need the PERS2 data set, which has the increments of things something like this should work from the summary task:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;proc summary data=cdata.h181 nway;
   class duid cpsfamid;
   var totslf15 ttlp15x;
   output out=fam sum( totslf15 ttlp15x)= famoop faminc    ;
run;&lt;/PRE&gt;
&lt;P&gt;There is a variable _freq_ by default that has the number of records involved for each combination of duid and cpsfamid.&lt;/P&gt;</description>
      <pubDate>Tue, 07 May 2019 21:36:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/First-variable-and-Last-variable-in-query-builder/m-p/556943#M9922</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2019-05-07T21:36:14Z</dc:date>
    </item>
  </channel>
</rss>

