<?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 Do Loop until end (again) in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Do-Loop-until-end-again/m-p/447880#M112591</link>
    <description>&lt;P&gt;Hello all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I recently posted a problem and a solution was posted. that information is below. Unfortunately, i can not run the macro because i can not submit code to a SAS metadata server in JMP due to the configuration that i have with our IT department.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is it possible to run a macro in a JSL script? If not, can what is accomplished below be done (or possibly converted) into JSL?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Problem:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Hello all,&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;I am really struggling with this one. I’m not sure if a macro would be the best option. Here is my issue.&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;I have 1 table with two columns. Parent and component. I am trying to write a program that does the following.&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;Beginning table&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;Parent component&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1 2&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1 3&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1 4&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;2. 5&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;2. 6&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;6. 7&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;Into this&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;Parent component&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1. 2&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1. 3&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1. 4&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1. 5&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1. 6&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1. 7&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;Basically if a component is in the parent column (like 2) I want to pull any components of 2.&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;The part that I am really struggling with is getting this to loop. I need sas to look for 6 in the parent column since it was a component of 2 and continue until there are no matches.&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;This table has about 1.2 million records. Some parents have 30 components and some have much less.&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;Any help is appreciated. I hope I explained this well enough.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Macro Solution that does work (i just can't run it):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input parent component;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;1 2&lt;/P&gt;&lt;P&gt;1 3&lt;/P&gt;&lt;P&gt;1 4&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;5&lt;/LI&gt;&lt;LI&gt;6&lt;/LI&gt;&lt;LI&gt;7&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the solution that actually works (i am just having a hard time with a macro in SAS Jmp)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%macro loop;&lt;/P&gt;&lt;P&gt;%do %until (&amp;amp;count=0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;create table Drilldown as&lt;/P&gt;&lt;P&gt;select&amp;nbsp;&amp;nbsp; coalesce(b.parent,a.parent) as parent , coalesce(a.component,b.component) as component&lt;/P&gt;&lt;P&gt;from have a left join have b on b.component=a.parent;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;* if there are no components in parent then done;&lt;/P&gt;&lt;P&gt;proc sql ;&lt;/P&gt;&lt;P&gt;select count(*) into :count&lt;/P&gt;&lt;P&gt;from have a&amp;nbsp;&amp;nbsp; join have b on b.component=a.parent;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%end;&lt;/P&gt;&lt;P&gt;%mend;&lt;/P&gt;&lt;P&gt;%loop;&lt;/P&gt;</description>
    <pubDate>Thu, 22 Mar 2018 18:30:50 GMT</pubDate>
    <dc:creator>Minutemaid23</dc:creator>
    <dc:date>2018-03-22T18:30:50Z</dc:date>
    <item>
      <title>Do Loop until end (again)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Loop-until-end-again/m-p/447880#M112591</link>
      <description>&lt;P&gt;Hello all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I recently posted a problem and a solution was posted. that information is below. Unfortunately, i can not run the macro because i can not submit code to a SAS metadata server in JMP due to the configuration that i have with our IT department.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is it possible to run a macro in a JSL script? If not, can what is accomplished below be done (or possibly converted) into JSL?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Problem:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Hello all,&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;I am really struggling with this one. I’m not sure if a macro would be the best option. Here is my issue.&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;I have 1 table with two columns. Parent and component. I am trying to write a program that does the following.&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;Beginning table&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;Parent component&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1 2&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1 3&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1 4&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;2. 5&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;2. 6&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;6. 7&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;Into this&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;Parent component&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1. 2&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1. 3&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1. 4&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1. 5&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1. 6&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;1. 7&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;Basically if a component is in the parent column (like 2) I want to pull any components of 2.&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;The part that I am really struggling with is getting this to loop. I need sas to look for 6 in the parent column since it was a component of 2 and continue until there are no matches.&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;This table has about 1.2 million records. Some parents have 30 components and some have much less.&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;Any help is appreciated. I hope I explained this well enough.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Macro Solution that does work (i just can't run it):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input parent component;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;1 2&lt;/P&gt;&lt;P&gt;1 3&lt;/P&gt;&lt;P&gt;1 4&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;5&lt;/LI&gt;&lt;LI&gt;6&lt;/LI&gt;&lt;LI&gt;7&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the solution that actually works (i am just having a hard time with a macro in SAS Jmp)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%macro loop;&lt;/P&gt;&lt;P&gt;%do %until (&amp;amp;count=0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;create table Drilldown as&lt;/P&gt;&lt;P&gt;select&amp;nbsp;&amp;nbsp; coalesce(b.parent,a.parent) as parent , coalesce(a.component,b.component) as component&lt;/P&gt;&lt;P&gt;from have a left join have b on b.component=a.parent;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;* if there are no components in parent then done;&lt;/P&gt;&lt;P&gt;proc sql ;&lt;/P&gt;&lt;P&gt;select count(*) into :count&lt;/P&gt;&lt;P&gt;from have a&amp;nbsp;&amp;nbsp; join have b on b.component=a.parent;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%end;&lt;/P&gt;&lt;P&gt;%mend;&lt;/P&gt;&lt;P&gt;%loop;&lt;/P&gt;</description>
      <pubDate>Thu, 22 Mar 2018 18:30:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Loop-until-end-again/m-p/447880#M112591</guid>
      <dc:creator>Minutemaid23</dc:creator>
      <dc:date>2018-03-22T18:30:50Z</dc:date>
    </item>
    <item>
      <title>Re: Do Loop until end (again)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Loop-until-end-again/m-p/448006#M112627</link>
      <description>&lt;P&gt;You&amp;nbsp; can run it in SAS and save the output in a permanent dataset that you then read into JMP.&lt;/P&gt;&lt;P&gt;(I'm assuming that you have a SAS license)&lt;/P&gt;</description>
      <pubDate>Thu, 22 Mar 2018 23:50:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Loop-until-end-again/m-p/448006#M112627</guid>
      <dc:creator>JohnHoughton</dc:creator>
      <dc:date>2018-03-22T23:50:41Z</dc:date>
    </item>
    <item>
      <title>Re: Do Loop until end (again)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Loop-until-end-again/m-p/448426#M112793</link>
      <description>&lt;P&gt;I wish that i could, but my company only has SAS JMP licenses. I'm not certain if i can convince my boss to go with a SAS license, since i would be the only person that would have it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Parent&lt;/TD&gt;&lt;TD&gt;Component&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am running the code below in JMP,&lt;/P&gt;&lt;P&gt;The code and log are below, but I am getting the following:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Parent&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Component&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;SubparentID2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;*&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;*&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;*&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;*&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And am trying to get this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Parent&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Component&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;6&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;7&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Snums = Open Database( **odbc connection string&amp;nbsp; **&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;"SELECT [dbo].[BOM].[PARENT]&amp;nbsp; as PARENTID ,[dbo].[BOM].[COMPONENT] as SUBPARENTID&lt;/P&gt;&lt;P&gt;FROM [dbo].[BOM] --as tb1&lt;/P&gt;&lt;P&gt;--LEFT JOIN [dbo].[BOM] ON [dbo].[BOM].[PARENT] = [dbo].[BOM].[COMPONENT]"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;//Creates the new column&lt;/P&gt;&lt;P&gt;Snums &amp;lt;&amp;lt; New Column( "SUBPARENTID2", Numeric );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*Loops SUBPARENTID to check all rows for matches against PARENTID.&lt;/P&gt;&lt;P&gt;Where a match is found the value in SUBPARENTID is assigned to SUBPARENT2ID&lt;/P&gt;&lt;P&gt;at the row containing the value used to initiate the match&lt;/P&gt;&lt;P&gt;adds 9999*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For( i = 1, i &amp;lt;= N Rows( Snums ), i++,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; r = Snums &amp;lt;&amp;lt; Get Rows Where( :PARENTID == :SUBPARENTID[i] );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; If(&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N Rows( r ) == 0, Continue(),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N Rows( r ) == 1 &amp;amp; r[1] == i, :SUBPARENTID2[i] = 0,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N Rows( r ) == 1, :SUBPARENTID2[i] = :SUBPARENTID[r[1]],&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :SUBPARENTID2[i] = 9999&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; );&lt;/P&gt;&lt;P&gt;);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the log file:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Snums = Open Database(&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; "odbc connection string",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;"SELECT [dbo].[BOM].[PARENT]&amp;nbsp; as PARENTID ,[dbo].[BOM].[COMPONENT] as SUBPARENTID&lt;/P&gt;&lt;P&gt;FROM [dbo].[BOM] --as tb1&lt;/P&gt;&lt;P&gt;--LEFT JOIN [dbo].[BOM] ON [dbo].[BOM].[PARENT] = [dbo].[BOM].[COMPONENT]"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;//Creates the new column&lt;/P&gt;&lt;P&gt;Snums &amp;lt;&amp;lt; New Column( "SUBPARENTID2", Numeric );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*Loops SUBPARENTID to check all rows for matches against PARENTID.&lt;/P&gt;&lt;P&gt;Where a match is found the value in SUBPARENTID is assigned to SUBPARENT2ID&lt;/P&gt;&lt;P&gt;at the row containing the value used to initiate the match&lt;/P&gt;&lt;P&gt;adds 9999*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For( i = 1, i &amp;lt;= N Rows( Snums ), i++,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; r = Snums &amp;lt;&amp;lt; Get Rows Where( :PARENTID == :SUBPARENTID[i] );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; If(&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N Rows( r ) == 0, Continue(),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N Rows( r ) == 1 &amp;amp; r[1] == i, :SUBPARENTID2[i] = 0,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N Rows( r ) == 1, :SUBPARENTID2[i] = :SUBPARENTID[r[1]],&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :SUBPARENTID2[i] = 9999&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; );&lt;/P&gt;&lt;P&gt;);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Column "SUBPARENTID2" requires numeric values in access or evaluation of 'Bad Argument'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Rows in table check for default filter: 1561136&lt;/P&gt;&lt;P&gt;Rows in table check for default filter: 1561136&lt;/P&gt;</description>
      <pubDate>Sat, 24 Mar 2018 14:17:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Loop-until-end-again/m-p/448426#M112793</guid>
      <dc:creator>Minutemaid23</dc:creator>
      <dc:date>2018-03-24T14:17:24Z</dc:date>
    </item>
    <item>
      <title>Re: Do Loop until end (again)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Loop-until-end-again/m-p/448430#M112796</link>
      <description>For( i = 1, i &amp;lt;= N Rows( Snums ), i++,&lt;BR /&gt;r = Snums &amp;lt;&amp;lt; Get Rows Where( : PARENTID == : SUBPARENTID[i] );&lt;BR /&gt;If(&lt;BR /&gt;N Rows( r ) == 0, Continue(),&lt;BR /&gt;N Rows( r ) == 1 &amp;amp; r[1] == i, : SUBPARENTID2[i] = 0,&lt;BR /&gt;N Rows( r ) == 1, : SUBPARENTID2[i] = : SUBPARENTID[r[1]],&lt;BR /&gt;: SUBPARENTID2[i] = 9999&lt;BR /&gt;);&lt;BR /&gt;);</description>
      <pubDate>Sat, 24 Mar 2018 14:20:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Loop-until-end-again/m-p/448430#M112796</guid>
      <dc:creator>Minutemaid23</dc:creator>
      <dc:date>2018-03-24T14:20:50Z</dc:date>
    </item>
    <item>
      <title>Re: Do Loop until end (again)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Loop-until-end-again/m-p/448447#M112807</link>
      <description>&lt;P&gt;Hi &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/199633"&gt;@Minutemaid23&lt;/a&gt;&lt;/P&gt;&lt;P&gt;Same company , different product.&lt;/P&gt;&lt;P&gt;For jmp scripting help , try the&lt;A href="https://community.jmp.com/t5/Discussions/bd-p/discussions" target="_self"&gt; jmp community&lt;/A&gt; and post a discussion there.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 24 Mar 2018 18:56:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Loop-until-end-again/m-p/448447#M112807</guid>
      <dc:creator>JohnHoughton</dc:creator>
      <dc:date>2018-03-24T18:56:40Z</dc:date>
    </item>
    <item>
      <title>Re: Do Loop until end (again)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Loop-until-end-again/m-p/448453#M112811</link>
      <description>I apologize. Thanks!&lt;BR /&gt;</description>
      <pubDate>Sat, 24 Mar 2018 20:36:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Loop-until-end-again/m-p/448453#M112811</guid>
      <dc:creator>Minutemaid23</dc:creator>
      <dc:date>2018-03-24T20:36:15Z</dc:date>
    </item>
  </channel>
</rss>

