<?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: Selecting partial string within array do loop in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/Selecting-partial-string-within-array-do-loop/m-p/568898#M11727</link>
    <description>&lt;P&gt;Thank you! The code I posted actually didn't result in any errors in the log. It just output the wrong answer. Adjusting it to your suggestion provided something that looks more correct.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 25 Jun 2019 18:37:09 GMT</pubDate>
    <dc:creator>tolsabeck</dc:creator>
    <dc:date>2019-06-25T18:37:09Z</dc:date>
    <item>
      <title>Selecting partial string within array do loop</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Selecting-partial-string-within-array-do-loop/m-p/568860#M11722</link>
      <description>&lt;P&gt;Hello, I am using SAS 9.4 and I have a dataset with secondary diagnosis ICD10 codes. There are up to 120 secondary diagnosis codes listed. My goal is to build an array for the diagnosis codes and create a flag for any secondary diagnosis with a mention of alcohol. All the alcohol diagnosis codes start with an 'F10___' but depending on the specifics the code could be 3 more digits and there are too many ICD10 codes to just manually type out. I am trying to write a code to flag the observations with an alcohol related code associated to it by creating an array then doing a do loop that will select a partial string from the 120 variable array. I am not getting an error but my results come back as 0 observations which I know is incorrect based on spot checking one of the secondary code variables. Below is the code I am working with.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT&gt;data cancer3;&lt;BR /&gt;set cancer;&lt;BR /&gt;array CDiagcode {1:120} DX1-DX120; *build array of DX codes;&lt;BR /&gt;&amp;nbsp;do j = 1 to 120;&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;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if CDiagcode {j} = FIND(of CDiagcode{j}, 'F10') then do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; *if secondary diagnosis is for alcohol*;&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; substance10 = 1;&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; SFlag = 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *flag 2;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if SFlag not in (1) then do; *if no alcohol diagnosis DM = 0;&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; substance10 = 0;&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; SFlag = 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *flag 3;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;end;&lt;BR /&gt;run;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 25 Jun 2019 16:41:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Selecting-partial-string-within-array-do-loop/m-p/568860#M11722</guid>
      <dc:creator>tolsabeck</dc:creator>
      <dc:date>2019-06-25T16:41:59Z</dc:date>
    </item>
    <item>
      <title>Re: Selecting partial string within array do loop</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Selecting-partial-string-within-array-do-loop/m-p/568863#M11723</link>
      <description>At first glance, this line is wrong:&lt;BR /&gt;&lt;BR /&gt;      if CDiagcode {j} = FIND(of CDiagcode{j}, 'F10') then do;&lt;BR /&gt;&lt;BR /&gt;The code will never match the results from the FIND, which returns a number and your array is likely text values. I'm guessing your log has a ton of errors or warnings? Can you post the log? &lt;BR /&gt;&lt;BR /&gt;You likely want something similar to :&lt;BR /&gt;&lt;BR /&gt;if cdiagcode(j) =: 'F10' then do;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 25 Jun 2019 16:52:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Selecting-partial-string-within-array-do-loop/m-p/568863#M11723</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-06-25T16:52:00Z</dc:date>
    </item>
    <item>
      <title>Re: Selecting partial string within array do loop</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Selecting-partial-string-within-array-do-loop/m-p/568898#M11727</link>
      <description>&lt;P&gt;Thank you! The code I posted actually didn't result in any errors in the log. It just output the wrong answer. Adjusting it to your suggestion provided something that looks more correct.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 25 Jun 2019 18:37:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Selecting-partial-string-within-array-do-loop/m-p/568898#M11727</guid>
      <dc:creator>tolsabeck</dc:creator>
      <dc:date>2019-06-25T18:37:09Z</dc:date>
    </item>
  </channel>
</rss>

