<?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: parse a string and filter by specific codes dates using SUBSTR and INPUT FUNCTIONS in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/984240#M43697</link>
    <description>&lt;P&gt;Examples of the recordkey(aka&amp;nbsp;&lt;SPAN&gt;circdkey)&lt;/SPAN&gt;&lt;/P&gt;
&lt;TABLE width="115"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;recordkey&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070312JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070711JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070711JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070716JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070716JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070719JA01002&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070719JA01002&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070808JA01002&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070808JA01002&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070917JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070917JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20071019JA01033&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20071019JA01033&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20071126PE52003&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20071126PE52003&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090430JD11010&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090430JD11010&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090430JD11010&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090706JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090706JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090706JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090706JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090811JD11028&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090811JD11028&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;thanks Kurt!&lt;/P&gt;</description>
    <pubDate>Sat, 28 Feb 2026 01:38:59 GMT</pubDate>
    <dc:creator>msrenee1984</dc:creator>
    <dc:date>2026-02-28T01:38:59Z</dc:date>
    <item>
      <title>parse a string and filter by specific codes dates using SUBSTR and INPUT FUNCTIONS</title>
      <link>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/983805#M43672</link>
      <description>&lt;P&gt;Hello, I am trying to run a program to only pull student data from only certain (Codes) and certain (dates) and I'm unsure how-to code exactly.&amp;nbsp; I have about 150 (codes) to search through and I'm only interested in dates July 1, 2025 -December 31, 2025.&amp;nbsp; I attempted using substrate function however unsure if this is even correct.&amp;nbsp; The record is made up of the Date the letter P and the 6-digit course code.&lt;/P&gt;
&lt;P&gt;PROC SQL;&lt;BR /&gt;CREATE TABLE R. comment_data AS SELECT&lt;BR /&gt;A.studentID,&lt;BR /&gt;B.COMMENT_TYPE /*type= T10 */&lt;BR /&gt;B.recordkey (The format is Date-"P"- 6digitcode;EXAMPLE ='20250709PA01001'...)&lt;BR /&gt;FROM R.list A left join DATA.BASE_12 B&lt;BR /&gt;ON A.STUDENTID=B.STUDENTID&lt;BR /&gt;WHERE B.CITYPCMT='T10'&lt;BR /&gt;AND SUBSTR (B.CIRCDKEY, 1, 1) IN ('A','B') AND &lt;BR /&gt;INPUT(SUBSTR(B.CIRCDKEY, 15,9), DATE9.) BETWEEN '07JUL2025 'D AND '31DEC2025'D ; &lt;BR /&gt;FORMAT Date_Part DATE9. &lt;BR /&gt;;QUIT;&lt;/P&gt;
&lt;P&gt;the course codes I'm interested in:&lt;/P&gt;
&lt;P&gt;('A01001',&lt;BR /&gt;'A01002',&lt;BR /&gt;'A03001',&lt;BR /&gt;'A03004',&lt;BR /&gt;'A05002',&lt;BR /&gt;'A05003',&lt;BR /&gt;'A05004',&lt;BR /&gt;'A05007',&lt;BR /&gt;'A05010',&lt;BR /&gt;'A05101',&lt;BR /&gt;'A05102',&lt;BR /&gt;'A05103',&lt;BR /&gt;'A05104',&lt;BR /&gt;'A05203',&lt;BR /&gt;'A07007',&lt;BR /&gt;'A51001',&lt;BR /&gt;'A51002',&lt;BR /&gt;'A53001',&lt;BR /&gt;'A55014',&lt;BR /&gt;'A55015',&lt;BR /&gt;'A55017',&lt;BR /&gt;'A55021',&lt;BR /&gt;'A57001',&lt;BR /&gt;'A58001',&lt;BR /&gt;'A58006',&lt;BR /&gt;'A58007',&lt;BR /&gt;'A58009',&lt;BR /&gt;'A58011',&lt;BR /&gt;'B01003',&lt;BR /&gt;'B01004',&lt;BR /&gt;'B01006',&lt;BR /&gt;'B01007',&lt;BR /&gt;'B01008',&lt;BR /&gt;'B01009',&lt;BR /&gt;'B01010',&lt;BR /&gt;'B01012',&lt;BR /&gt;'B01013',&lt;BR /&gt;'B01014',&lt;BR /&gt;'B01015',&lt;BR /&gt;'B02001',&lt;BR /&gt;'B02004',&lt;BR /&gt;'B02005',&lt;BR /&gt;'B02006',&lt;BR /&gt;'B03007',&lt;BR /&gt;'B04001',&lt;BR /&gt;'B04006',&lt;BR /&gt;'B04007',&lt;BR /&gt;'B04008',&lt;BR /&gt;'B05005',&lt;BR /&gt;'B05006',&lt;BR /&gt;'B05007',&lt;BR /&gt;'B05008',&lt;BR /&gt;'B05009',&lt;BR /&gt;'B05012',&lt;BR /&gt;'B05023',&lt;BR /&gt;'B05024',&lt;BR /&gt;'B05025',&lt;BR /&gt;'B05027',&lt;BR /&gt;'B05028',&lt;BR /&gt;'B05029',&lt;BR /&gt;'B05030',&lt;BR /&gt;'B05032',&lt;BR /&gt;'B06009',&lt;BR /&gt;'B09009',&lt;BR /&gt;'B09011',&lt;BR /&gt;'B09014',&lt;BR /&gt;'B09019',&lt;BR /&gt;'B09031',&lt;BR /&gt;'B10001',&lt;BR /&gt;'B10009',&lt;BR /&gt;'B10010',&lt;BR /&gt;'B10011',&lt;BR /&gt;'B10012',&lt;BR /&gt;'B10013',&lt;BR /&gt;'B10014',&lt;BR /&gt;'B10015',&lt;BR /&gt;'B10017',&lt;BR /&gt;'B10020',&lt;BR /&gt;'B12009',&lt;BR /&gt;'B12017',&lt;BR /&gt;'B12020',&lt;BR /&gt;'B13018',&lt;BR /&gt;'B16004',&lt;BR /&gt;'B19001',&lt;BR /&gt;'B21002',&lt;BR /&gt;'B23002',&lt;BR /&gt;'B26001',&lt;BR /&gt;'B26002',&lt;BR /&gt;'B26003',&lt;BR /&gt;'B26004',&lt;BR /&gt;'B51001',&lt;BR /&gt;'B51002',&lt;BR /&gt;'B51003',&lt;BR /&gt;'B51004',&lt;BR /&gt;'B51005',&lt;BR /&gt;'B51006',&lt;BR /&gt;'B51007',&lt;BR /&gt;'B52005',&lt;BR /&gt;'B54003',&lt;BR /&gt;'B54005',&lt;BR /&gt;'B55001',&lt;BR /&gt;'B55002',&lt;BR /&gt;'B55003',&lt;BR /&gt;'B55004',&lt;BR /&gt;'B55005',&lt;BR /&gt;'B55006',&lt;BR /&gt;'B55008',&lt;BR /&gt;'B55009',&lt;BR /&gt;'B55010',&lt;BR /&gt;'B55012',&lt;BR /&gt;'B55509',&lt;BR /&gt;'B56001',&lt;BR /&gt;'B56002',&lt;BR /&gt;'B56003',&lt;BR /&gt;'B56004',&lt;BR /&gt;'B59005',&lt;BR /&gt;'B59006',&lt;BR /&gt;'B59007',&lt;BR /&gt;'B59008',&lt;BR /&gt;'B59009',&lt;BR /&gt;'B59010',&lt;BR /&gt;'B59012',&lt;BR /&gt;'B60003',&lt;BR /&gt;'B60004',&lt;BR /&gt;'B60006',&lt;BR /&gt;'B60007',&lt;BR /&gt;'B60008',&lt;BR /&gt;'B62001',&lt;BR /&gt;'B62003',&lt;BR /&gt;'B62005',&lt;BR /&gt;'B62006',&lt;BR /&gt;'B62007',&lt;BR /&gt;'B62008',&lt;BR /&gt;'B62009',&lt;BR /&gt;'B62010',&lt;BR /&gt;'B62011',&lt;BR /&gt;'B62012',&lt;BR /&gt;'B62013',&lt;BR /&gt;'B62014',&lt;BR /&gt;'B62015',&lt;BR /&gt;'B62016',&lt;BR /&gt;'B62017',&lt;BR /&gt;'B62018',&lt;BR /&gt;'B62021',&lt;BR /&gt;'B62024',&lt;BR /&gt;'B62025',&lt;BR /&gt;'B62030',&lt;BR /&gt;'B62033',&lt;BR /&gt;'B62034',&lt;BR /&gt;'B62035',&lt;BR /&gt;'B62036',&lt;BR /&gt;'B62037',&lt;BR /&gt;'B62038',&lt;BR /&gt;'B62039',&lt;BR /&gt;'B62040',&lt;BR /&gt;'B62041',&lt;BR /&gt;'B62043',&lt;BR /&gt;'B62044',&lt;BR /&gt;'B62045',&lt;BR /&gt;'B62047',&lt;BR /&gt;'B62048',&lt;BR /&gt;'B62049',&lt;BR /&gt;'B62050',&lt;BR /&gt;'B63002',&lt;BR /&gt;'B63003',&lt;BR /&gt;'B64001')&lt;/P&gt;</description>
      <pubDate>Fri, 20 Feb 2026 17:54:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/983805#M43672</guid>
      <dc:creator>msrenee1984</dc:creator>
      <dc:date>2026-02-20T17:54:19Z</dc:date>
    </item>
    <item>
      <title>Re: parse a string and filter by specific codes dates using SUBSTR and INPUT FUNCTIONS</title>
      <link>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/983808#M43673</link>
      <description>&lt;P&gt;If recordkey is in this format as you show,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;B.recordkey /*(The format is Date-"P"- 6digitcode;EXAMPLE ='20250709PA01001'...)*/&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;then I would suggest the following:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;PROC SQL;
CREATE TABLE r.comment_data AS SELECT
A.studentID,
B.COMMENT_TYPE, /*type= T10 */
B.recordkey /*(The format is Date-"P"- 6digitcode;EXAMPLE ='20250709PA01001'...)*/,
INPUT(SUBSTR(B.recordKEY, 1,8), yymmdd8.) as date_part format=date9.
FROM r.list A left join data.BASE_12 B
ON A.STUDENTID=B.STUDENTID
WHERE B.CITYPCMT='T10'
AND SUBSTR (B.CIRCDKEY, 1, 1) IN ('A','B') AND
calculated date_part BETWEEN '07JUL2025'D AND '31DEC2025'D 
and substr(b.recordkey,10,6) in ('A01001',
'A01002',
'A03001',
'A03004',
'A05002'/* rest of codes here */);
QUIT;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If this does not work for you, share some actual data and clarify what you are expecting.&lt;/P&gt;</description>
      <pubDate>Fri, 20 Feb 2026 18:48:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/983808#M43673</guid>
      <dc:creator>Kathryn_SAS</dc:creator>
      <dc:date>2026-02-20T18:48:10Z</dc:date>
    </item>
    <item>
      <title>Re: parse a string and filter by specific codes dates using SUBSTR and INPUT FUNCTIONS</title>
      <link>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/983811#M43674</link>
      <description>&lt;P&gt;Please share examples for circdkey.&lt;/P&gt;
&lt;P&gt;Also note that PROC SQL does not have a FORMAT statement, this will cause a syntax error.&lt;/P&gt;</description>
      <pubDate>Fri, 20 Feb 2026 19:17:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/983811#M43674</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2026-02-20T19:17:50Z</dc:date>
    </item>
    <item>
      <title>Re: parse a string and filter by specific codes dates using SUBSTR and INPUT FUNCTIONS</title>
      <link>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/983813#M43675</link>
      <description>&lt;P&gt;Since as your comments show&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;B.recordkey (The format is Date-"P"- 6digitcode;EXAMPLE ='20250709PA01001'...)&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;the values of RECORDKEY start with digits in the style YYYYMMDD you can impose a date range by using simple inequalities.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;where B.recordkey &amp;gt;= '20250701'
  and B.recordkey &amp;lt;= '20251231'
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;That is one the advantages of using YMD order when storing dates as strings.&amp;nbsp; When sorted lexicographically they are also sorted chronlogically.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The other advantage is there is no confusion about which digits represent the month of the year and which digits represent the day of the month.&lt;/P&gt;</description>
      <pubDate>Fri, 20 Feb 2026 21:55:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/983813#M43675</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2026-02-20T21:55:33Z</dc:date>
    </item>
    <item>
      <title>Re: parse a string and filter by specific codes dates using SUBSTR and INPUT FUNCTIONS</title>
      <link>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/984239#M43696</link>
      <description>&lt;P&gt;Thanks Kathryn (and others), I tried using your logic however my system kept hanging and never returned any results I had to shut down and reopen the session multiple times.&amp;nbsp; I tried to remove the date9 and just use the dates as is and use record &amp;gt;='20250101' and recordkey &amp;lt;= '20251231' ...that still didn't work.&amp;nbsp; &amp;nbsp;Eventually many hours later I tried to break the logic up running the SQL then 2 additional Data steps and joined back to my original "List" dataset.&amp;nbsp; Although this seemed to work, I'd really like to know how this could be accomplished all within the SQL statement.&amp;nbsp; Thank you everyone for your assistance.&lt;/P&gt;
&lt;P&gt;What I did:&lt;/P&gt;
&lt;P&gt;PROC SQL;&lt;BR /&gt;CREATE TABLE R.COMMENT AS SELECT&lt;/P&gt;
&lt;P&gt;studentID,&lt;BR /&gt;Comment_type,&lt;BR /&gt;Recordkey&lt;BR /&gt;FROM data.base&lt;BR /&gt;WHERE comment_type='T10';&lt;BR /&gt;RUN;&lt;BR /&gt;DATA R.DATE; SET R.COMMENT;&lt;BR /&gt;YEAR=SUBSTR(recordkey,1,4);&lt;BR /&gt;MONTH=SUBSTR(recordkey,5,2);&lt;BR /&gt;DAY=SUBSTR(recordkey,7,2);&lt;BR /&gt;RUN;&lt;BR /&gt;DATA R.DATE1; SET R.DATE;&lt;BR /&gt;IF YEAR='2025' THEN OUTPUT;&lt;BR /&gt;IF MONTH GE '07' THEN OUTPUT;&lt;BR /&gt;IF DAY GE '01' THEN OUTPUT;&lt;BR /&gt;IF YEAR='2026' THEN DELETE;&lt;BR /&gt;RUN;&lt;/P&gt;
&lt;P&gt;PROC SQL;&lt;/P&gt;
&lt;P&gt;A.*,&lt;/P&gt;
&lt;P&gt;B.*&lt;/P&gt;
&lt;P&gt;from R.Date1 A left join R.list B&lt;/P&gt;
&lt;P&gt;on A.studentID=B.studentID&lt;/P&gt;
&lt;P&gt;;quit;&lt;/P&gt;</description>
      <pubDate>Sat, 28 Feb 2026 01:31:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/984239#M43696</guid>
      <dc:creator>msrenee1984</dc:creator>
      <dc:date>2026-02-28T01:31:15Z</dc:date>
    </item>
    <item>
      <title>Re: parse a string and filter by specific codes dates using SUBSTR and INPUT FUNCTIONS</title>
      <link>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/984240#M43697</link>
      <description>&lt;P&gt;Examples of the recordkey(aka&amp;nbsp;&lt;SPAN&gt;circdkey)&lt;/SPAN&gt;&lt;/P&gt;
&lt;TABLE width="115"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;recordkey&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070312JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070711JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070711JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070716JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070716JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070719JA01002&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070719JA01002&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070808JA01002&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070808JA01002&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070917JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20070917JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20071019JA01033&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20071019JA01033&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20071126PE52003&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20071126PE52003&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090430JD11010&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090430JD11010&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090430JD11010&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090706JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090706JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090706JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090706JA01034&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090811JD11028&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;20090811JD11028&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;thanks Kurt!&lt;/P&gt;</description>
      <pubDate>Sat, 28 Feb 2026 01:38:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/984240#M43697</guid>
      <dc:creator>msrenee1984</dc:creator>
      <dc:date>2026-02-28T01:38:59Z</dc:date>
    </item>
    <item>
      <title>Re: parse a string and filter by specific codes dates using SUBSTR and INPUT FUNCTIONS</title>
      <link>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/984241#M43698</link>
      <description>&lt;P&gt;&amp;nbsp;I deleted&amp;nbsp;&lt;/P&gt;
&lt;P&gt;INPUT(SUBSTR(B.CIRCDKEY, 1,8), yymmdd8.) as date_part format=date9. and used the date format as is...&lt;/P&gt;
&lt;P&gt;PROC SQL;&lt;BR /&gt;CREATE TABLE R.comment AS SELECT&lt;BR /&gt;A.*,&lt;BR /&gt;B.Commenttype,/*type code T10 */&lt;BR /&gt;B.text,&lt;BR /&gt;B.CIRCDKEY,&lt;BR /&gt;FROM R.List A left join data.base B&lt;/P&gt;
&lt;P&gt;ON A.studentID=B.studentID&lt;BR /&gt;WHERE B.Commentype='T10'&lt;BR /&gt;AND B.CIRCDKEY &amp;gt;= '20250701'&lt;BR /&gt;AND B.CIRCDKEY &amp;lt;= '20251231' &lt;BR /&gt;; QUIT;................is this what you mean?&lt;/P&gt;</description>
      <pubDate>Sat, 28 Feb 2026 01:44:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/984241#M43698</guid>
      <dc:creator>msrenee1984</dc:creator>
      <dc:date>2026-02-28T01:44:28Z</dc:date>
    </item>
    <item>
      <title>Re: parse a string and filter by specific codes dates using SUBSTR and INPUT FUNCTIONS</title>
      <link>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/984247#M43700</link>
      <description>&lt;P&gt;How large are the two datasets?&amp;nbsp; Do they have indexes?&amp;nbsp; Trying to do full joins of large datasets could overwhelm the storage on your computer.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One of your new data steps looks very strange.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA R.DATE1; SET R.DATE;
IF YEAR='2025' THEN OUTPUT;
IF MONTH GE '07' THEN OUTPUT;
IF DAY GE '01' THEN OUTPUT;
IF YEAR='2026' THEN DELETE;
RUN;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;First, are YEAR, MONTH and DAY really character variables?&amp;nbsp; &amp;nbsp;If so make sure that the MONTH and DAY variables always have the leading zeros. Otherwise values like '2' will be treated as greater than '07'.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Second let's look at what the logic is doing.&lt;/P&gt;
&lt;P&gt;ANY observation with YEAR='2025' are written.&lt;/P&gt;
&lt;P&gt;Then ANY observation with MONTH larger than '07' are written no matter what value of YEAR they have.&amp;nbsp; So the observations that also have year='2025' are written twice.&lt;/P&gt;
&lt;P&gt;Similarly with the DAY checking.&lt;/P&gt;
&lt;P&gt;And the DELETE statement is doing nothing because it is the last statement in the step and the explicit OUTPUT statement will have suppressed the normal implied OUTPUT that occurs at the end of a data step iteration.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So basically any observations that has a valid DAY will be written out.&amp;nbsp; Those that also have MONTH between 07 an 12 will be written again.&amp;nbsp; And those that are from 2025 will be written at least once whatever value they have for MONTH or DAY.&amp;nbsp; And depending on the value of MONTH and DAY will be written another one or two times.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What did you actually want that step to do?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 28 Feb 2026 18:02:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/984247#M43700</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2026-02-28T18:02:59Z</dc:date>
    </item>
    <item>
      <title>Re: parse a string and filter by specific codes dates using SUBSTR and INPUT FUNCTIONS</title>
      <link>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/984251#M43704</link>
      <description>&lt;P&gt;Then it is obvious why this&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;INPUT(SUBSTR(B.CIRCDKEY, 15,9), DATE9.)&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;cannot work. One, your date is stored in the first 8 characters (and not starting at position 15), and two in a YMD format. Your function call must therefore be&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;input(substr(b.circdkey,1,8),yymmdd8.)&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 01 Mar 2026 14:20:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/parse-a-string-and-filter-by-specific-codes-dates-using-SUBSTR/m-p/984251#M43704</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2026-03-01T14:20:26Z</dc:date>
    </item>
  </channel>
</rss>

