<?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 Quality flag for an expression. Checking the sequence of an expression which contains slash and dash in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Quality-flag-for-an-expression-Checking-the-sequence-of-an/m-p/607770#M176745</link>
    <description>&lt;P&gt;Dear friends;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I perform a quality check of the names of the oil wells.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have two different expressions in a special sequence for my oil wells names like these:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Expression 1:&lt;/P&gt;
&lt;P&gt;Anydigit/Anydigit- Anysingleletter-Anydigit&lt;/P&gt;
&lt;P&gt;For example:&lt;/P&gt;
&lt;P&gt;123/445-A-123&lt;/P&gt;
&lt;P&gt;1266/92-D-110&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Expression 2:&lt;/P&gt;
&lt;P&gt;Anydigit/Anydigit- Anydigit&lt;/P&gt;
&lt;P&gt;For example:&lt;/P&gt;
&lt;P&gt;7623/67653-222&lt;/P&gt;
&lt;P&gt;29/33-12&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then I have a list of oil wells names which I like to check their quality. If they don’t match the sequence of the Expression 1 or Expression 2 then a flag will show that they are not invalid.&amp;nbsp;Please look at the following table:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="280"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="206"&gt;&lt;STRONG&gt;WELL&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="74"&gt;&lt;STRONG&gt;FLAG&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3923/2169-A-2130&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;227/3437-D-1195&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;27/190-F-4031&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;686/34-H-1890-D&lt;/TD&gt;
&lt;TD&gt;NOT VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1562/1802-12&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4748/4652 -E -2875&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4648/1008 -12 -870&lt;/TD&gt;
&lt;TD&gt;NOT VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5118/834-A-4474&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2669/1701-405&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1952/2094-5105&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1280/4359 -U -4322-F&lt;/TD&gt;
&lt;TD&gt;NOT VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1058/355 -I -462&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3858/689-P-GX&lt;/TD&gt;
&lt;TD&gt;NOT VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2838/3002-W-2948&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need to have a SAS data step to give me the quality flag. Can you please help me with it?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you very much in advance!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Farshid Owrang&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 27 Nov 2019 16:24:34 GMT</pubDate>
    <dc:creator>farshidowrang</dc:creator>
    <dc:date>2019-11-27T16:24:34Z</dc:date>
    <item>
      <title>Quality flag for an expression. Checking the sequence of an expression which contains slash and dash</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Quality-flag-for-an-expression-Checking-the-sequence-of-an/m-p/607770#M176745</link>
      <description>&lt;P&gt;Dear friends;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I perform a quality check of the names of the oil wells.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have two different expressions in a special sequence for my oil wells names like these:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Expression 1:&lt;/P&gt;
&lt;P&gt;Anydigit/Anydigit- Anysingleletter-Anydigit&lt;/P&gt;
&lt;P&gt;For example:&lt;/P&gt;
&lt;P&gt;123/445-A-123&lt;/P&gt;
&lt;P&gt;1266/92-D-110&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Expression 2:&lt;/P&gt;
&lt;P&gt;Anydigit/Anydigit- Anydigit&lt;/P&gt;
&lt;P&gt;For example:&lt;/P&gt;
&lt;P&gt;7623/67653-222&lt;/P&gt;
&lt;P&gt;29/33-12&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then I have a list of oil wells names which I like to check their quality. If they don’t match the sequence of the Expression 1 or Expression 2 then a flag will show that they are not invalid.&amp;nbsp;Please look at the following table:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="280"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="206"&gt;&lt;STRONG&gt;WELL&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="74"&gt;&lt;STRONG&gt;FLAG&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3923/2169-A-2130&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;227/3437-D-1195&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;27/190-F-4031&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;686/34-H-1890-D&lt;/TD&gt;
&lt;TD&gt;NOT VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1562/1802-12&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4748/4652 -E -2875&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4648/1008 -12 -870&lt;/TD&gt;
&lt;TD&gt;NOT VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5118/834-A-4474&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2669/1701-405&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1952/2094-5105&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1280/4359 -U -4322-F&lt;/TD&gt;
&lt;TD&gt;NOT VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1058/355 -I -462&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3858/689-P-GX&lt;/TD&gt;
&lt;TD&gt;NOT VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2838/3002-W-2948&lt;/TD&gt;
&lt;TD&gt;VALID&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need to have a SAS data step to give me the quality flag. Can you please help me with it?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you very much in advance!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Farshid Owrang&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Nov 2019 16:24:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Quality-flag-for-an-expression-Checking-the-sequence-of-an/m-p/607770#M176745</guid>
      <dc:creator>farshidowrang</dc:creator>
      <dc:date>2019-11-27T16:24:34Z</dc:date>
    </item>
    <item>
      <title>Re: Quality flag for an expression. Checking the sequence of an expression which contains slash and</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Quality-flag-for-an-expression-Checking-the-sequence-of-an/m-p/607774#M176746</link>
      <description>&lt;P&gt;Do like this.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input well :$50.;
datalines; 
3923/2169-A-2130 
227/3437-D-1195 
27/190-F-4031 
686/34-H-1890-D 
1562/1802-12 
4748/4652 -E -2875 
4648/1008 -12 -870 
5118/834-A-4474 
2669/1701-405 
1952/2094-5105 
1280/4359 -U -4322-F
1058/355 -I -462 
3858/689-P-GX 
2838/3002-W-2948 
;

data want;
   set have;
   flag='Not Valid';
   if prxmatch('/\d+\/\d+-[A-Za-z]-\d+/', well) | 
      prxmatch('/\d+\/\d+-\d+/', well) then flag='Valid';
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Result: (Your 12'th obs in your desired results does not comply with your logic)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;well              flag 
3923/2169-A-2130  Valid 
227/3437-D-1195   Valid 
27/190-F-4031     Valid 
686/34-H-1890-D   Valid 
1562/1802-12      Valid 
4748/4652         Not Valid 
4648/1008         Not Valid 
5118/834-A-4474   Valid 
2669/1701-405     Valid 
1952/2094-5105    Valid 
1280/4359         Not Valid 
1058/355          Not Valid 
3858/689-P-GX     Not Valid 
2838/3002-W-2948  Valid &lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Nov 2019 17:01:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Quality-flag-for-an-expression-Checking-the-sequence-of-an/m-p/607774#M176746</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2019-11-27T17:01:15Z</dc:date>
    </item>
    <item>
      <title>Re: Quality flag for an expression. Checking the sequence of an expression which contains slash and</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Quality-flag-for-an-expression-Checking-the-sequence-of-an/m-p/608015#M176886</link>
      <description>&lt;P&gt;Thank you my friend!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Farshid&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 28 Nov 2019 09:28:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Quality-flag-for-an-expression-Checking-the-sequence-of-an/m-p/608015#M176886</guid>
      <dc:creator>farshidowrang</dc:creator>
      <dc:date>2019-11-28T09:28:27Z</dc:date>
    </item>
  </channel>
</rss>

