<?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: Negative if or then statements. What am I not seeing ? in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Negative-if-or-then-statements-What-am-I-not-seeing/m-p/207243#M51463</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This condition&amp;nbsp; ( GRADE~='I' OR GRADE~='NC' OR GRADE~='W' )&amp;nbsp; is always true.&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;The logic issue is easy to see if you just pick a specific value of GRADE and see what happens.&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;If GRADE is not I , NC or W then it is obviously true since all three sub conditions are true.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;But if GRADE = 'I' &lt;/SPAN&gt;then (&lt;SPAN style="font-size: 13.3333330154419px;"&gt;GRADE~='I'&lt;/SPAN&gt;) is FALSE but the other two conditions are true so the overall condition is TRUE.&lt;/P&gt;&lt;P&gt;Similarly for NC or W.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 26 Aug 2015 12:59:59 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2015-08-26T12:59:59Z</dc:date>
    <item>
      <title>Negative if or then statements. What am I not seeing ?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Negative-if-or-then-statements-What-am-I-not-seeing/m-p/207240#M51460</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #000080; font-family: Comic Sans MS;"&gt;I am producing a report on student's grades- how many start a Math or English course (Cohort=1), how many complete it (COMP) and how many have success (PASS). I thought that the section of code below &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-family: Comic Sans MS;"&gt;would create&amp;nbsp; the variable 'PASS' with a value of 1 for each occurrence of&amp;nbsp; grades A, B, C and S and create a variable 'COMP'&amp;nbsp; with a value of 1 for every student who finished a course .&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080; font-family: Comic Sans MS;"&gt;Rather than&amp;nbsp; list all the grades that constitute completion, I thought that I could use the 'not equal' condition for the grades that indicate non-completion&amp;nbsp; and create a positive counter for students who last to the bitter end.&amp;nbsp; This code does create the correct PASS values; BUT even though there are students that have grades of 'I', 'NC, and "W", all 10K+ students in the cohort have a 'COMP' variable with a value of 1.&amp;nbsp; If I&amp;nbsp; use one grade, i.e., If GRADE~=W" then COMP=1, all students with a 'W' grade have a COMP value of 0 and do not appear in the &lt;SPAN style="text-decoration: underline;"&gt;QUAPROPTER&lt;/SPAN&gt; subset. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080; font-family: Comic Sans MS;"&gt;So what an I doing wrong?&amp;nbsp; I would bet my ex's alimony that I have used this combination before. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080; font-family: Comic Sans MS;"&gt;Thanks&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; F9_GRADES;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff; font-family: Comic Sans MS;"&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; SET&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; IA.CERSGRADES;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff; font-family: Comic Sans MS;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IF&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; TERM=&amp;gt;&amp;amp;COHO_TERM AND CRSE_NO&amp;gt;&lt;/SPAN&gt;&lt;STRONG style=": ; color: #008080; font-family: Comic Sans MS;"&gt;100&lt;/STRONG&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; AND (COURSENAME=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; font-family: Comic Sans MS;"&gt;'MAT'&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; OR COURSENAME=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; font-family: Comic Sans MS;"&gt;'ENG'&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Comic Sans MS;"&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; IF (GRADE=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; font-family: Comic Sans MS;"&gt;'A'&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; OR GRADE=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; font-family: Comic Sans MS;"&gt;'B'&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; OR GRADE=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; font-family: Comic Sans MS;"&gt;'C'&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; OR GRADE=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; font-family: Comic Sans MS;"&gt;'S'&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;) &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: Comic Sans MS;"&gt;THEN&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; PASS=&lt;/SPAN&gt;&lt;STRONG style=": ; color: #008080; font-family: Comic Sans MS;"&gt;1&lt;/STRONG&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;; &lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-family: Comic Sans MS;"&gt;/*SET PASS VAR*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Comic Sans MS;"&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; IF ( GRADE~=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; font-family: Comic Sans MS;"&gt;'I'&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; OR GRADE~=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; font-family: Comic Sans MS;"&gt;'NC'&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; OR GRADE~=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; font-family: Comic Sans MS;"&gt;'W'&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; ) &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: Comic Sans MS;"&gt;THEN&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; COMP=&lt;/SPAN&gt;&lt;STRONG style=": ; color: #008080; font-family: Comic Sans MS;"&gt;1&lt;/STRONG&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-family: Comic Sans MS;"&gt;/*SET COMPELETION VAR*/&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: Comic Sans MS;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cohort=1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; array &lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; a(*) &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: Comic Sans MS;"&gt;_numeric_&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;do &lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;i=&lt;/SPAN&gt;&lt;STRONG style=": ; color: #008080; font-family: Comic Sans MS;"&gt;1&lt;/STRONG&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: Comic Sans MS;"&gt;to&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; dim(a);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;if a(i) = &lt;/SPAN&gt;&lt;STRONG style=": ; color: #008080; font-family: Comic Sans MS;"&gt;.&lt;/STRONG&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: Comic Sans MS;"&gt;then&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; a(i) = &lt;/SPAN&gt;&lt;STRONG style=": ; color: #008080; font-family: Comic Sans MS;"&gt;0&lt;/STRONG&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;drop I;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: Comic Sans MS;"&gt;KEEP&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; SSN TERM COURSE CRSE_NO COURSENAME GRADE GOT COMPLETE PASS;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG style=": ; color: #000080; font-family: Comic Sans MS;"&gt;DATA&lt;/STRONG&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;&amp;nbsp; QUAPROPTER;/*test if the code works*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff; font-family: Comic Sans MS;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; F9_GRADES;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff; font-family: Comic Sans MS;"&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; IF&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; COMPLETE=&lt;/SPAN&gt;&lt;STRONG style=": ; color: #008080; font-family: Comic Sans MS;"&gt;1&lt;/STRONG&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style=": ; color: #000080; font-family: Comic Sans MS;"&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; PROC FREQ&lt;/STRONG&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: Comic Sans MS;"&gt;TABLES COHO PASS COMP GRADE;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;RUN;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt;&lt;BR /&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Aug 2015 22:53:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Negative-if-or-then-statements-What-am-I-not-seeing/m-p/207240#M51460</guid>
      <dc:creator>madhatter</dc:creator>
      <dc:date>2015-08-25T22:53:19Z</dc:date>
    </item>
    <item>
      <title>Re: Negative if or then statements. What am I not seeing ?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Negative-if-or-then-statements-What-am-I-not-seeing/m-p/207241#M51461</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Basic logic table negation of an or becomes AND&lt;/P&gt;&lt;P&gt;GRADE~=&lt;SPAN style="color: #800080; font-family: Comic Sans MS;"&gt;'I'&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; and GRADE~=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; font-family: Comic Sans MS;"&gt;'NC'&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; and GRADE~=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; font-family: Comic Sans MS;"&gt;'W'&lt;/SPAN&gt;&lt;SPAN style="font-family: Comic Sans MS;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try this for easier to read and maintain code:&lt;/P&gt;&lt;P&gt;if grade in ('A', 'B','C', 'S') then pass=1;&lt;/P&gt;&lt;P&gt;if grade not in ('I', 'NC', 'W') then comp = 1;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Aug 2015 23:03:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Negative-if-or-then-statements-What-am-I-not-seeing/m-p/207241#M51461</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2015-08-25T23:03:05Z</dc:date>
    </item>
    <item>
      <title>Re: Negative if or then statements. What am I not seeing ?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Negative-if-or-then-statements-What-am-I-not-seeing/m-p/207242#M51462</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks.&amp;nbsp; The easier way works.&amp;nbsp; I ma going to have mull over the logic issue though.. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Aug 2015 01:52:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Negative-if-or-then-statements-What-am-I-not-seeing/m-p/207242#M51462</guid>
      <dc:creator>madhatter</dc:creator>
      <dc:date>2015-08-26T01:52:08Z</dc:date>
    </item>
    <item>
      <title>Re: Negative if or then statements. What am I not seeing ?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Negative-if-or-then-statements-What-am-I-not-seeing/m-p/207243#M51463</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This condition&amp;nbsp; ( GRADE~='I' OR GRADE~='NC' OR GRADE~='W' )&amp;nbsp; is always true.&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;The logic issue is easy to see if you just pick a specific value of GRADE and see what happens.&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;If GRADE is not I , NC or W then it is obviously true since all three sub conditions are true.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;But if GRADE = 'I' &lt;/SPAN&gt;then (&lt;SPAN style="font-size: 13.3333330154419px;"&gt;GRADE~='I'&lt;/SPAN&gt;) is FALSE but the other two conditions are true so the overall condition is TRUE.&lt;/P&gt;&lt;P&gt;Similarly for NC or W.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Aug 2015 12:59:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Negative-if-or-then-statements-What-am-I-not-seeing/m-p/207243#M51463</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2015-08-26T12:59:59Z</dc:date>
    </item>
  </channel>
</rss>

