<?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 SUBSTITUTE AN ARRAY FOR AN IF-THEN STATEMENT in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/SUBSTITUTE-AN-ARRAY-FOR-AN-IF-THEN-STATEMENT/m-p/567398#M75125</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a data set with variables that I want to compare using an array, but currently have an if-then statement.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data set:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;dtp1&lt;/TD&gt;&lt;TD&gt;dtp1src&lt;/TD&gt;&lt;TD&gt;dtp2&lt;/TD&gt;&lt;TD&gt;dtp2src&lt;/TD&gt;&lt;TD&gt;dtp3&lt;/TD&gt;&lt;TD&gt;dtp3src&lt;/TD&gt;&lt;TD&gt;dtp4&lt;/TD&gt;&lt;TD&gt;dtp4src&lt;/TD&gt;&lt;TD&gt;dtp5&lt;/TD&gt;&lt;TD&gt;dtp5src&lt;/TD&gt;&lt;TD&gt;dtp6&lt;/TD&gt;&lt;TD&gt;dtp6src&lt;/TD&gt;&lt;TD&gt;dtp7&lt;/TD&gt;&lt;TD&gt;dtp7src&lt;/TD&gt;&lt;TD&gt;dtp8&lt;/TD&gt;&lt;TD&gt;dtp8src&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/1/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2/22/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;5/10/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;7/19/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;7/14/2017&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;U&lt;/TD&gt;&lt;TD&gt;5/10/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;7/7/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;5/1/2017&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4/1/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;4/5/2017&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;5/3/2017&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;U&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3/9/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;7/8/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;7/20/2017&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4/4/2016&lt;/TD&gt;&lt;TD&gt;H&lt;/TD&gt;&lt;TD&gt;7/11/2016&lt;/TD&gt;&lt;TD&gt;H&lt;/TD&gt;&lt;TD&gt;9/26/2016&lt;/TD&gt;&lt;TD&gt;H&lt;/TD&gt;&lt;TD&gt;4/24/2017&lt;/TD&gt;&lt;TD&gt;H&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Each "src" column refers to the column before it (where dtp1src is the vaccination source for the dtp1 vaccination date). What I want to end up with is a error variable of any vaccination date (DTP1-DTP8) that does not have a source (DTP1SRC-DTP8SRC) and any source (DTP1-DTP8) that does not have a vaccination date (DTP1-DTP8). Below is the code I currently have. It works fine, but I feel like there is a more elegant way to flag these using an array/do loop. Any suggestions are greatly appreciated!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DATA CLEANING.DTP_ERROR;&lt;/P&gt;&lt;P&gt;SET CLEANING.VALID;&lt;BR /&gt;IF DTP1 NE . AND DTP1src=' ' OR DTP1=. AND DTP1SRC NE ' ' THEN ERROR= 'SOURCECHECK';&lt;BR /&gt;IF DTP2 NE . AND DTP2src=' ' OR DTP2=. AND DTP2SRC NE ' ' THEN ERROR= 'SOURCECHECK';&lt;BR /&gt;IF DTP3 NE . AND DTP3src=' ' OR DTP3=. AND DTP3SRC NE ' ' THEN ERROR= 'SOURCECHECK';&lt;BR /&gt;IF DTP4 NE . AND DTP4src=' ' OR DTP4=. AND DTP4SRC NE ' ' THEN ERROR= 'SOURCECHECK';&lt;BR /&gt;IF DTP5 NE . AND DTP5src=' ' OR DTP5=. AND DTP5SRC NE ' ' THEN ERROR= 'SOURCECHECK';&lt;BR /&gt;IF DTP6 NE . AND DTP6src=' ' OR DTP6=. AND DTP6SRC NE ' ' THEN ERROR= 'SOURCECHECK';&lt;BR /&gt;IF DTP7 NE . AND DTP7src=' ' OR DTP7=. AND DTP7SRC NE ' ' THEN ERROR= 'SOURCECHECK';&lt;BR /&gt;IF DTP8 NE . AND DTP8src=' ' OR DTP8=. AND DTP8SRC NE ' ' THEN ERROR= 'SOURCECHECK';&lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 19 Jun 2019 18:28:47 GMT</pubDate>
    <dc:creator>TPayne</dc:creator>
    <dc:date>2019-06-19T18:28:47Z</dc:date>
    <item>
      <title>SUBSTITUTE AN ARRAY FOR AN IF-THEN STATEMENT</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SUBSTITUTE-AN-ARRAY-FOR-AN-IF-THEN-STATEMENT/m-p/567398#M75125</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a data set with variables that I want to compare using an array, but currently have an if-then statement.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data set:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;dtp1&lt;/TD&gt;&lt;TD&gt;dtp1src&lt;/TD&gt;&lt;TD&gt;dtp2&lt;/TD&gt;&lt;TD&gt;dtp2src&lt;/TD&gt;&lt;TD&gt;dtp3&lt;/TD&gt;&lt;TD&gt;dtp3src&lt;/TD&gt;&lt;TD&gt;dtp4&lt;/TD&gt;&lt;TD&gt;dtp4src&lt;/TD&gt;&lt;TD&gt;dtp5&lt;/TD&gt;&lt;TD&gt;dtp5src&lt;/TD&gt;&lt;TD&gt;dtp6&lt;/TD&gt;&lt;TD&gt;dtp6src&lt;/TD&gt;&lt;TD&gt;dtp7&lt;/TD&gt;&lt;TD&gt;dtp7src&lt;/TD&gt;&lt;TD&gt;dtp8&lt;/TD&gt;&lt;TD&gt;dtp8src&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/1/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2/22/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;5/10/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;7/19/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;7/14/2017&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;U&lt;/TD&gt;&lt;TD&gt;5/10/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;7/7/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;5/1/2017&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4/1/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;4/5/2017&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;5/3/2017&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;U&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3/9/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;7/8/2016&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;7/20/2017&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4/4/2016&lt;/TD&gt;&lt;TD&gt;H&lt;/TD&gt;&lt;TD&gt;7/11/2016&lt;/TD&gt;&lt;TD&gt;H&lt;/TD&gt;&lt;TD&gt;9/26/2016&lt;/TD&gt;&lt;TD&gt;H&lt;/TD&gt;&lt;TD&gt;4/24/2017&lt;/TD&gt;&lt;TD&gt;H&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Each "src" column refers to the column before it (where dtp1src is the vaccination source for the dtp1 vaccination date). What I want to end up with is a error variable of any vaccination date (DTP1-DTP8) that does not have a source (DTP1SRC-DTP8SRC) and any source (DTP1-DTP8) that does not have a vaccination date (DTP1-DTP8). Below is the code I currently have. It works fine, but I feel like there is a more elegant way to flag these using an array/do loop. Any suggestions are greatly appreciated!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DATA CLEANING.DTP_ERROR;&lt;/P&gt;&lt;P&gt;SET CLEANING.VALID;&lt;BR /&gt;IF DTP1 NE . AND DTP1src=' ' OR DTP1=. AND DTP1SRC NE ' ' THEN ERROR= 'SOURCECHECK';&lt;BR /&gt;IF DTP2 NE . AND DTP2src=' ' OR DTP2=. AND DTP2SRC NE ' ' THEN ERROR= 'SOURCECHECK';&lt;BR /&gt;IF DTP3 NE . AND DTP3src=' ' OR DTP3=. AND DTP3SRC NE ' ' THEN ERROR= 'SOURCECHECK';&lt;BR /&gt;IF DTP4 NE . AND DTP4src=' ' OR DTP4=. AND DTP4SRC NE ' ' THEN ERROR= 'SOURCECHECK';&lt;BR /&gt;IF DTP5 NE . AND DTP5src=' ' OR DTP5=. AND DTP5SRC NE ' ' THEN ERROR= 'SOURCECHECK';&lt;BR /&gt;IF DTP6 NE . AND DTP6src=' ' OR DTP6=. AND DTP6SRC NE ' ' THEN ERROR= 'SOURCECHECK';&lt;BR /&gt;IF DTP7 NE . AND DTP7src=' ' OR DTP7=. AND DTP7SRC NE ' ' THEN ERROR= 'SOURCECHECK';&lt;BR /&gt;IF DTP8 NE . AND DTP8src=' ' OR DTP8=. AND DTP8SRC NE ' ' THEN ERROR= 'SOURCECHECK';&lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 19 Jun 2019 18:28:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SUBSTITUTE-AN-ARRAY-FOR-AN-IF-THEN-STATEMENT/m-p/567398#M75125</guid>
      <dc:creator>TPayne</dc:creator>
      <dc:date>2019-06-19T18:28:47Z</dc:date>
    </item>
    <item>
      <title>Re: SUBSTITUTE AN ARRAY FOR AN IF-THEN STATEMENT</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SUBSTITUTE-AN-ARRAY-FOR-AN-IF-THEN-STATEMENT/m-p/567406#M75126</link>
      <description>Arrays are one of the easier SAS components. This tutorial goes through arrays and how to set it up. One is very close to your situation.&lt;BR /&gt;&lt;BR /&gt;1. Declare 2 arrays, one for DTP series and one for DTP1src series.&lt;BR /&gt;2. Change the reference from the vairable to the array with an i&lt;BR /&gt;3. Wrap it in a loop. &lt;BR /&gt;&lt;BR /&gt;And this would be infinitely easier if you had your data set in the long format previous compared to this wide format.&lt;BR /&gt;&lt;BR /&gt;You can also look into NMISS() or CMISS() to count missing if that may help.</description>
      <pubDate>Wed, 19 Jun 2019 18:52:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SUBSTITUTE-AN-ARRAY-FOR-AN-IF-THEN-STATEMENT/m-p/567406#M75126</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-06-19T18:52:34Z</dc:date>
    </item>
    <item>
      <title>Re: SUBSTITUTE AN ARRAY FOR AN IF-THEN STATEMENT</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SUBSTITUTE-AN-ARRAY-FOR-AN-IF-THEN-STATEMENT/m-p/567409#M75127</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data cleaning.dtp_error;
set cleaning.valid;
array dtp{8} dtp1-dtp8;
array dtpsrc{8} dtp1src dtp2src dtp3src dtp4src dtp5src dtp6src dtp7src dtp8src;
do i = 1 to 8;
  if dtp{i} ne . and dtpsrc{i} =' ' or dtp{i} = . and dtpsrc{i} ne ' ' then error = 'SOURCECHECK';
end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 19 Jun 2019 18:55:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SUBSTITUTE-AN-ARRAY-FOR-AN-IF-THEN-STATEMENT/m-p/567409#M75127</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-06-19T18:55:54Z</dc:date>
    </item>
    <item>
      <title>Re: SUBSTITUTE AN ARRAY FOR AN IF-THEN STATEMENT</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SUBSTITUTE-AN-ARRAY-FOR-AN-IF-THEN-STATEMENT/m-p/567412#M75128</link>
      <description>&lt;P&gt;And I strongly second &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza&lt;/a&gt;&amp;nbsp;'s comment about reasonable data structures. With a properly structured dataset, the code would be simple as that, and you wouldn't waste space for all the missing values.&lt;/P&gt;
&lt;P&gt;See Maxim 33:&amp;nbsp;Intelligent data makes for intelligent programs.&lt;/P&gt;</description>
      <pubDate>Wed, 19 Jun 2019 19:01:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SUBSTITUTE-AN-ARRAY-FOR-AN-IF-THEN-STATEMENT/m-p/567412#M75128</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-06-19T19:01:57Z</dc:date>
    </item>
  </channel>
</rss>

