<?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: Select a dynamic number of rows with JSL, selecting rows that meet a condition in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/Select-a-dynamic-number-of-columns-with-JSL-selecting-columns/m-p/227244#M45090</link>
    <description>&lt;P&gt;I tried something like this and got error &lt;FONT color="#800000"&gt;&lt;STRONG&gt;Column not found {1} in access or evaluation of 'Bad Argument'&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;Which I imagine is the arguement within &lt;STRONG&gt;Select()&lt;/STRONG&gt; within&amp;nbsp;&lt;STRONG&gt;Join()&lt;/STRONG&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;I thought maybe I could assign a vector of columns to a variable and use the variable as the argument in Select().&lt;/FONT&gt;&lt;/P&gt;&lt;PRE class=" language-jsl"&gt;// Get a list of the column names&lt;BR /&gt;colList = &lt;CODE class="  language-jsl"&gt;TRANSPOSE &lt;/CODE&gt; &amp;lt;&amp;lt; Get Column Names();&lt;BR /&gt;// Starting with column 3, select&lt;BR /&gt;For(i=3,i&amp;lt;= N Cols( &lt;CODE class="  language-jsl"&gt;TRANSPOSE &lt;/CODE&gt;), i++, COLUMN( &lt;CODE class="  language-jsl"&gt;TRANSPOSE &lt;/CODE&gt;, colList[i]) &amp;lt;&amp;lt; Set Selected(1) ) ;&lt;BR /&gt;// Assign those selected columns to a variable&lt;BR /&gt;Select_cols = &lt;CODE class="  language-jsl"&gt;TRANSPOSE &lt;/CODE&gt; &amp;lt;&amp;lt; Get Selected Columns();&lt;BR /&gt;//then feed that variable into the Select() withing Join()&lt;BR /&gt;&lt;BR /&gt;&lt;CODE class="  language-jsl"&gt;&lt;SPAN class="token comment"&gt;// JOIN&lt;/SPAN&gt;
DT   &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;Data Table&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; TRANSPOSE &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="token messages"&gt; Join&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;
	With&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;Data Table&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; CATEGORY_TABLE &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;
	Select&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;:&lt;/SPAN&gt;Forecast Material &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;
	SelectWith&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;:&lt;/SPAN&gt;Category &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;
	Select&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; Select_cols &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;           /// was Select&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;:&lt;/SPAN&gt;Row &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;:&lt;/SPAN&gt;Row &lt;SPAN class="token number"&gt;2&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;
	By Matching Columns&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;:&lt;/SPAN&gt;Label &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;:&lt;/SPAN&gt;Category &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;
	Drop multiples&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;
	Include Nonmatches&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;
	Preserve main table order&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 25 Sep 2019 20:27:25 GMT</pubDate>
    <dc:creator>BSwid</dc:creator>
    <dc:date>2019-09-25T20:27:25Z</dc:date>
    <item>
      <title>Select a dynamic number of columns with JSL, selecting columns that meet a condition</title>
      <link>https://community.jmp.com/t5/Discussions/Select-a-dynamic-number-of-columns-with-JSL-selecting-columns/m-p/227179#M45077</link>
      <description>&lt;P&gt;&lt;A href="https://www.jmp.com/support/help/14-2/use-set-selected-to-select-columns.shtml" target="_blank" rel="noopener"&gt;https://www.jmp.com/support/help/14-2/use-set-selected-to-select-columns.shtml&lt;/A&gt;&lt;/P&gt;&lt;P&gt;What's the best way to rewrite something like this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The intent is that DT is a join of TRANSPOSE and CATEGORY_TABLE.&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;CATEGORY_TABLE is a one column table with column Category&lt;/LI&gt;&lt;LI&gt;TRANSPOSE is the result of a data transpose&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;The trick is that TRANSPOSE doesn't always have the same number of columns.&amp;nbsp; Confusingly, the output of the transpose function names the additional columns Row 1, Row 2, etc.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;TRANSPOSE's first two columns are always the same.&lt;/LI&gt;&lt;LI&gt;Column Row 1 will always exist as the 3rd column.&lt;/LI&gt;&lt;LI&gt;Column(s) Row 2 and beyond may exist depending on the dataset.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can I write the Select() function in such a way that the Join() will select at least column Row 1 and then if there are more thru the last column?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;// This section is only build to handle two columns named Row 1 and Row 2
DT   = Data Table( TRANSPOSE ) &amp;lt;&amp;lt; Join(
	With( Data Table( CATEGORY_TABLE ) ),
	Select( :Forecast Material ),
	SelectWith( :Category ),
	Select( :Row 1, :Row 2 ),   // sometimes there is only one row, sometimes there are more than one rows ******How to handle this?********
	By Matching Columns( :Label = :Category ),
	Drop multiples( 0, 0 ),
	Include Nonmatches( 0, 0 ),
	Preserve main table order( 1 )
);&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Oct 2019 12:48:51 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Select-a-dynamic-number-of-columns-with-JSL-selecting-columns/m-p/227179#M45077</guid>
      <dc:creator>BSwid</dc:creator>
      <dc:date>2019-10-10T12:48:51Z</dc:date>
    </item>
    <item>
      <title>Re: Select a dynamic number of rows with JSL, selecting rows that meet a condition</title>
      <link>https://community.jmp.com/t5/Discussions/Select-a-dynamic-number-of-columns-with-JSL-selecting-columns/m-p/227244#M45090</link>
      <description>&lt;P&gt;I tried something like this and got error &lt;FONT color="#800000"&gt;&lt;STRONG&gt;Column not found {1} in access or evaluation of 'Bad Argument'&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;Which I imagine is the arguement within &lt;STRONG&gt;Select()&lt;/STRONG&gt; within&amp;nbsp;&lt;STRONG&gt;Join()&lt;/STRONG&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;I thought maybe I could assign a vector of columns to a variable and use the variable as the argument in Select().&lt;/FONT&gt;&lt;/P&gt;&lt;PRE class=" language-jsl"&gt;// Get a list of the column names&lt;BR /&gt;colList = &lt;CODE class="  language-jsl"&gt;TRANSPOSE &lt;/CODE&gt; &amp;lt;&amp;lt; Get Column Names();&lt;BR /&gt;// Starting with column 3, select&lt;BR /&gt;For(i=3,i&amp;lt;= N Cols( &lt;CODE class="  language-jsl"&gt;TRANSPOSE &lt;/CODE&gt;), i++, COLUMN( &lt;CODE class="  language-jsl"&gt;TRANSPOSE &lt;/CODE&gt;, colList[i]) &amp;lt;&amp;lt; Set Selected(1) ) ;&lt;BR /&gt;// Assign those selected columns to a variable&lt;BR /&gt;Select_cols = &lt;CODE class="  language-jsl"&gt;TRANSPOSE &lt;/CODE&gt; &amp;lt;&amp;lt; Get Selected Columns();&lt;BR /&gt;//then feed that variable into the Select() withing Join()&lt;BR /&gt;&lt;BR /&gt;&lt;CODE class="  language-jsl"&gt;&lt;SPAN class="token comment"&gt;// JOIN&lt;/SPAN&gt;
DT   &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;Data Table&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; TRANSPOSE &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="token messages"&gt; Join&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;
	With&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;Data Table&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; CATEGORY_TABLE &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;
	Select&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;:&lt;/SPAN&gt;Forecast Material &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;
	SelectWith&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;:&lt;/SPAN&gt;Category &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;
	Select&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; Select_cols &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;           /// was Select&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;:&lt;/SPAN&gt;Row &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;:&lt;/SPAN&gt;Row &lt;SPAN class="token number"&gt;2&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;
	By Matching Columns&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;:&lt;/SPAN&gt;Label &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;:&lt;/SPAN&gt;Category &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;
	Drop multiples&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;
	Include Nonmatches&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;
	Preserve main table order&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 25 Sep 2019 20:27:25 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Select-a-dynamic-number-of-columns-with-JSL-selecting-columns/m-p/227244#M45090</guid>
      <dc:creator>BSwid</dc:creator>
      <dc:date>2019-09-25T20:27:25Z</dc:date>
    </item>
    <item>
      <title>Re: Select a dynamic number of rows with JSL, selecting rows that meet a condition</title>
      <link>https://community.jmp.com/t5/Discussions/Select-a-dynamic-number-of-columns-with-JSL-selecting-columns/m-p/228797#M45381</link>
      <description>&lt;P&gt;Remove the arguments with "Select" in them:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;DT   = Data Table( TRANSPOSE ) &amp;lt;&amp;lt; Join(
	With( Data Table( CATEGORY_TABLE ) ),
	By Matching Columns( :Label = :Category ),
	Drop multiples( 0, 0 ),
	Include Nonmatches( 0, 0 ),
	Preserve main table order( 1 )
);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The results will contain all the columns from both tables.&lt;/P&gt;</description>
      <pubDate>Thu, 10 Oct 2019 14:22:34 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Select-a-dynamic-number-of-columns-with-JSL-selecting-columns/m-p/228797#M45381</guid>
      <dc:creator>DonMcCormack</dc:creator>
      <dc:date>2019-10-10T14:22:34Z</dc:date>
    </item>
    <item>
      <title>Re: Select a dynamic number of rows with JSL, selecting rows that meet a condition</title>
      <link>https://community.jmp.com/t5/Discussions/Select-a-dynamic-number-of-columns-with-JSL-selecting-columns/m-p/229032#M45419</link>
      <description>Thanks Don. I'm trying to update someone else's code. I think this doing what we want. Need to grab some time to validate before accepting as solution. Didn't want you to think I didn't see and appreciate your response. Was working with this suggestion yesterday. Thanks!</description>
      <pubDate>Fri, 11 Oct 2019 13:37:48 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Select-a-dynamic-number-of-columns-with-JSL-selecting-columns/m-p/229032#M45419</guid>
      <dc:creator>BSwid</dc:creator>
      <dc:date>2019-10-11T13:37:48Z</dc:date>
    </item>
    <item>
      <title>Re: Select a dynamic number of rows with JSL, selecting rows that meet a condition</title>
      <link>https://community.jmp.com/t5/Discussions/Select-a-dynamic-number-of-columns-with-JSL-selecting-columns/m-p/229116#M45432</link>
      <description>&lt;P&gt;Thanks BSwid. Let me know how it works.&lt;/P&gt;</description>
      <pubDate>Fri, 11 Oct 2019 17:59:08 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Select-a-dynamic-number-of-columns-with-JSL-selecting-columns/m-p/229116#M45432</guid>
      <dc:creator>DonMcCormack</dc:creator>
      <dc:date>2019-10-11T17:59:08Z</dc:date>
    </item>
  </channel>
</rss>

