<?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: How to use FIRST.variable and LAST.variable in a BY-group analysis in PROC SQL in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822081#M81925</link>
    <description>What is the use case? FIRST/LAST are SAS data step constructs and often what they're used for can be accomplished another way in SQL though not as easily. So if you can explain overall what you're trying to do that will help.</description>
    <pubDate>Thu, 07 Jul 2022 15:24:35 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2022-07-07T15:24:35Z</dc:date>
    <item>
      <title>How to use FIRST.variable and LAST.variable in a BY-group analysis in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822024#M81916</link>
      <description>&lt;P&gt;Hello all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to write proc sql for find first and last row for some operations with group by two variable. I found the SAS example in the&amp;nbsp;&lt;A href="https://blogs.sas.com/content/iml/2018/02/26/how-to-use-first-variable-and-last-variable-in-a-by-group-analysis-in-sas.html" target="_blank" rel="noopener"&gt;https://blogs.sas.com/content/iml/2018/02/26/how-to-use-first-variable-and-last-variable-in-a-by-group-analysis-in-sas.html&lt;/A&gt;&amp;nbsp;. But I couldn't find the proc sql version.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How would I approach this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jul 2022 10:56:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822024#M81916</guid>
      <dc:creator>Musenol</dc:creator>
      <dc:date>2022-07-07T10:56:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to use FIRST.variable and LAST.variable in a BY-group analysis in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822027#M81917</link>
      <description>&lt;P&gt;There is no such thing as FIRST.variable and LAST.variable in PROC SQL. You should do this in a DATA step.&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jul 2022 11:03:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822027#M81917</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-07-07T11:03:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to use FIRST.variable and LAST.variable in a BY-group analysis in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822033#M81918</link>
      <description>I know that FIRST.variable and LAST.variable are not for PROC SQL. I have seen PROC SQL codes that are similar to PROC TRANSPOSE and I would like to code just like that for FIRST.variable and LAST.variable. I wanted to ask just how I could approach this issue</description>
      <pubDate>Thu, 07 Jul 2022 11:21:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822033#M81918</guid>
      <dc:creator>Musenol</dc:creator>
      <dc:date>2022-07-07T11:21:36Z</dc:date>
    </item>
    <item>
      <title>Re: How to use FIRST.variable and LAST.variable in a BY-group analysis in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822034#M81919</link>
      <description>&lt;P&gt;And I will repeat ... the easiest way and the best way to do this is in a DATA step.&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jul 2022 11:25:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822034#M81919</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-07-07T11:25:24Z</dc:date>
    </item>
    <item>
      <title>Re: How to use FIRST.variable and LAST.variable in a BY-group analysis in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822039#M81920</link>
      <description>&lt;P&gt;PROC SQL does not guarantee the order of the observations.&amp;nbsp; Therefore, which one is first within a group (and which one is last within a group) is subject to change, and not reliable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you really must use SQL, you will have to supply a more specific transpose problem.&amp;nbsp; Wide to long?&amp;nbsp; Long to wide?&amp;nbsp; How many variables involved?&amp;nbsp; Give a specific example of what you would like to accomplish.&amp;nbsp; But as you have already been told, SQL is the wrong tool for the job.&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jul 2022 11:44:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822039#M81920</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2022-07-07T11:44:56Z</dc:date>
    </item>
    <item>
      <title>Re: How to use FIRST.variable and LAST.variable in a BY-group analysis in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822044#M81921</link>
      <description>&lt;P&gt;As Paige said, the best tool is data step,NOT sql.&lt;/P&gt;
&lt;P&gt;Anyway, there is some sql code could get first last. But I don't like it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;proc sort data=sashelp.class out=have;by sex;run;

ods select none;
ods output sql_results=sql_results;
proc sql number;
select * from have;
quit;
ods select all;

proc sql;
create table want as
select * from sql_results
 group by sex
  having row=min(row) or row=max(row);
quit; &lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jul 2022 12:08:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822044#M81921</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2022-07-07T12:08:57Z</dc:date>
    </item>
    <item>
      <title>Re: How to use FIRST.variable and LAST.variable in a BY-group analysis in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822051#M81922</link>
      <description>&lt;P&gt;&lt;SPAN&gt;My Table has&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;12k columns and 72 rows table sorted by id and type.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;If table grouped by single variable, i can be use monotonic for min and max row. But table grouped by two variable. So, i can not use monotonic for min and max for groups.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My table like:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE&amp;nbsp; &amp;nbsp; &amp;nbsp; NAME&amp;nbsp; &amp;nbsp; &amp;nbsp;GPA &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CREDIT&amp;nbsp; &amp;nbsp;FACULTY &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DEPARTMANT&amp;nbsp;&amp;nbsp; SCHOLARSHIP&amp;nbsp;&amp;nbsp;&amp;nbsp; CLUB_FLAG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; …&lt;/P&gt;&lt;P&gt;13416&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; T1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Micheal&amp;nbsp; &amp;nbsp; &amp;nbsp;3.00&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;93.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENG. FAC.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMP.ENG.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&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; 0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; …&lt;/P&gt;&lt;P&gt;13416&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; T3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Micheal&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.00&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;93.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENG. FAC.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMP.ENG.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&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; 0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; …&lt;/P&gt;&lt;P&gt;13417&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; T2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sam&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1.68&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 123.00&amp;nbsp; &amp;nbsp; ENG. FAC.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMP.ENG.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&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; 0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; …&lt;/P&gt;&lt;P&gt;13418&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; T1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Keanu&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3.51&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 135.00&amp;nbsp; &amp;nbsp; ENG. FAC.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMP.ENG.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&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; 0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; …&lt;/P&gt;&lt;P&gt;13418&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; T2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Keanu&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3.51&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 135.00&amp;nbsp; &amp;nbsp; ENG. FAC.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMP.ENG.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&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; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; …&lt;/P&gt;&lt;P&gt;13418&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; T4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Keanu&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3.51&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 135.00&amp;nbsp; &amp;nbsp; ENG. FAC.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMP.ENG.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&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; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; …&lt;/P&gt;&lt;P&gt;13419&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; T3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ann&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1.85&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 84.00&amp;nbsp; &amp;nbsp; &amp;nbsp; ENG. FAC.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMP.ENG.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&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; 0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; …&lt;/P&gt;&lt;P&gt;13420&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; T4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; George&amp;nbsp; &amp;nbsp; &amp;nbsp;2.10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 27.00&amp;nbsp; &amp;nbsp; &amp;nbsp; ENG. FAC.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMP.ENG.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&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; 0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; …&lt;/P&gt;&lt;P&gt;13421&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; T1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jennifer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.41&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 112.00&amp;nbsp; &amp;nbsp; ENG. FAC.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMP.ENG.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&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;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; …&lt;/P&gt;&lt;P&gt;13421&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; T2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jennifer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.41&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 112.00&amp;nbsp; &amp;nbsp; ENG. FAC.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMP.ENG.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&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;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;…&lt;/P&gt;&lt;P&gt;13422&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; T1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ann&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2.13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 37.00&amp;nbsp; &amp;nbsp; &amp;nbsp; ENG. FAC.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMP.ENG.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&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;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;…&lt;/P&gt;&lt;P&gt;13422&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; T2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ann&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2.13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 37.00&amp;nbsp; &amp;nbsp; &amp;nbsp; ENG. FAC.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMP.ENG.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&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;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;…&lt;/P&gt;&lt;P&gt;13422&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; T3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ann&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2.13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 37.00&amp;nbsp; &amp;nbsp; &amp;nbsp; ENG. FAC.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMP.ENG.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&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;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;…&lt;/P&gt;&lt;P&gt;13422&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; T4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ann&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2.13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 37.00&amp;nbsp; &amp;nbsp; &amp;nbsp; ENG. FAC.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMP.ENG.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&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;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;…&lt;/P&gt;&lt;P&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;&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; &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; …&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;&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; &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; &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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; …&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your answers&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4954"&gt;@Astounding&lt;/a&gt;&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/18408"&gt;@Ksharp&lt;/a&gt;&amp;nbsp;. I have to writed by PROC SQL.&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jul 2022 13:26:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822051#M81922</guid>
      <dc:creator>Musenol</dc:creator>
      <dc:date>2022-07-07T13:26:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to use FIRST.variable and LAST.variable in a BY-group analysis in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822054#M81923</link>
      <description>&lt;P&gt;Why do you have to use PROC SQL?&lt;/P&gt;
&lt;P&gt;Is it that you are actually pushing the SQL code into some external database?&amp;nbsp; If so then you should check if the external database's implementation of SQL has features that might help.&lt;/P&gt;
&lt;P&gt;Is it that you are using some tool only can generate SQL code? What tool?&lt;/P&gt;
&lt;P&gt;If it is because someone told you to use PROC SQL, then educate them that it is best to use the right tool for the job and SQL is NOT the tool for any job that is dependent on an ordering of observations that is not based on the values of the variables in the data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Add the sequence number first using a data step ( or data step view) and then you can use the sequence number to detect FIRST (seq=1) and LAST (seq=max(seq).&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data for_sql_step;
   set have;
   by id1 id2;
   if first.id2 then seq=0;
   seq+1;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 07 Jul 2022 13:37:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822054#M81923</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-07-07T13:37:17Z</dc:date>
    </item>
    <item>
      <title>Re: How to use FIRST.variable and LAST.variable in a BY-group analysis in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822081#M81925</link>
      <description>What is the use case? FIRST/LAST are SAS data step constructs and often what they're used for can be accomplished another way in SQL though not as easily. So if you can explain overall what you're trying to do that will help.</description>
      <pubDate>Thu, 07 Jul 2022 15:24:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822081#M81925</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2022-07-07T15:24:35Z</dc:date>
    </item>
    <item>
      <title>Re: How to use FIRST.variable and LAST.variable in a BY-group analysis in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822213#M81926</link>
      <description>&lt;P&gt;I'm using Sas Ondemand. Actually my task is kind of like a homework, which is to convert SAS to PROC SQL. The outputs of the SAS must match the outputs of the SQL.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You can see the SAS block below. I am new in Community so I apologize if I can't articulate very well what I need in this question page - thanks in advance for all the help!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;data Group_1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;set group_sort; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;by id type;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if first.type then do;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sum_credit_before_semester=0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sum_credit_after_semester=0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sum_semester_credit;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;type_COUNT = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;end;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sum_credit_before_semester + credit_before_semester ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sum_credit_after_semester+credit_after_semester;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sum_semester_credit + semester_credit;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;type_COUNT+1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if last.type;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;drop &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;credit_before_semester credit_after_semester semester_credit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Jul 2022 06:34:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822213#M81926</guid>
      <dc:creator>Musenol</dc:creator>
      <dc:date>2022-07-08T06:34:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to use FIRST.variable and LAST.variable in a BY-group analysis in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822249#M81927</link>
      <description>&lt;P&gt;OK. It is not a big deal. If you have two or more variables need sorted ,try this one :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ods select none;
ods output sql_results=sql_results;
proc sql number;
select * from sashelp.heart   /*the dataset you have*/
 order by status,sex ;   /*two variables need to sorted*/
quit;
ods select all;

proc sql;
create table want as
select * from sql_results
 group by status,sex
  having row=min(row) or row=max(row);
quit; &lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 08 Jul 2022 12:26:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822249#M81927</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2022-07-08T12:26:38Z</dc:date>
    </item>
    <item>
      <title>Re: How to use FIRST.variable and LAST.variable in a BY-group analysis in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822293#M81928</link>
      <description>&lt;P&gt;Looks like you are just aggregating three variables over groups defined by the values of ID and TYPE.&lt;/P&gt;
&lt;P&gt;So the normal SAS syntax would be something like:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc summary data=group_sort nway;
  by id type;
  var credit_before_semester  credit_after_semester semester_credit;
  output out=group_1
         n=type_count
         sum=sum_credit_before_semester sum_credit_after_semester sum_semester_credit
  ;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Or you could use PROC SQL.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table group_1 as
select id,type
     , count(*) as type_count
     , sum(credit_before_semester) as sum_credit_before_semester
     , sum(credit_after_semester) as sum_credit_after_semester 
     , sum(semester_credit) as sum_semester_credit
group by id,type
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 08 Jul 2022 14:59:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/822293#M81928</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-07-08T14:59:36Z</dc:date>
    </item>
    <item>
      <title>Re: How to use FIRST.variable and LAST.variable in a BY-group analysis in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/823059#M81930</link>
      <description>Thank you ! PROC SQL work correctly.</description>
      <pubDate>Wed, 13 Jul 2022 07:01:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-use-FIRST-variable-and-LAST-variable-in-a-BY-group/m-p/823059#M81930</guid>
      <dc:creator>Musenol</dc:creator>
      <dc:date>2022-07-13T07:01:08Z</dc:date>
    </item>
  </channel>
</rss>

