<?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: Associative Array - splitting keys in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/Associative-Array-splitting-keys/m-p/665418#M85371</link>
    <description>&lt;P&gt;Here is what I would do to get the Associative Array you are looking for&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = Data Table( "dt" );

// Get all columns
allOrigColumnsList = dt &amp;lt;&amp;lt; get column names( string );

// Move individual elements of the column, to individual columns
dt &amp;lt;&amp;lt; Text To Columns( delimiter( "," ), columns( :paretotop20 ) );

// Find all new columns
newColList = dt &amp;lt;&amp;lt; get column names( string );
For( i = N Items( newColList ), i &amp;gt;= 1, i--,
	If( Contains( allOrigColumnsList,
		newColList[i]),
		Remove From( newColList, i, 1 )
	)
);
dtStack = Data Table( "dt" ) &amp;lt;&amp;lt; Stack(
	columns( eval(newColList) ),
	Source Label Column( "Label" ),
	Stacked Data Column( "Data" ),
	"Non-stacked columns"n( Keep( :"% of Total"n ) ),
	Output Table( "Untitled 60.jmp" )
);
dtStack &amp;lt;&amp;lt; select where(:Data == "" );
dtStack &amp;lt;&amp;lt; delete rows;

aa = Associative Array( Column( dtStack, 3 ) &amp;lt;&amp;lt; get values, Column( dtStack, 1 ) &amp;lt;&amp;lt; get values );&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 03 Aug 2023 21:45:16 GMT</pubDate>
    <dc:creator>txnelson</dc:creator>
    <dc:date>2023-08-03T21:45:16Z</dc:date>
    <item>
      <title>Associative Array - splitting keys</title>
      <link>https://community.jmp.com/t5/Discussions/Associative-Array-splitting-keys/m-p/665339#M85367</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've a data table, looks something like this. I want to split each test and assign % values.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Jackie__0-1691089344080.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/55549i851CDBE1E77BBFB1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Jackie__0-1691089344080.png" alt="Jackie__0-1691089344080.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to create an Associative Array and allocate values to each tests but the results are incorrect. I am not sure what I missed&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Jackie__1-1691089533947.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/55551iD49CD03EEBC9CC52/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Jackie__1-1691089533947.png" alt="Jackie__1-1691089533947.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The final associative array should contain the following.&lt;/P&gt;&lt;P&gt;new_aa = [" Currents_A" =&amp;gt; 0.003 " Currents_B" =&amp;gt; 0.003, " Currents_C" =&amp;gt; 0.003, "Volts_A" =&amp;gt; 0.003, "Votls_B" =&amp;gt; 0.003, "Volts_1"&amp;nbsp;=&amp;gt; 0.002,..................., "Currents_0" =&amp;gt; 0.001]&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here's the jsl code. Any suggestions&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = Data Table( "dt" );
aa = Associative Array( Column( dt, 1 ) &amp;lt;&amp;lt; get values, Column( dt, 3 ) &amp;lt;&amp;lt; get values );

fail_test = fa &amp;lt;&amp;lt; Get Keys;


split_tests = {};
For Each( {test, index}, fail_test,
	Insert Into( split_tests, Words( test, "," ) )

);
For( i = 1, i &amp;lt;= N Items( split_tests ), i++,
	new_aa = Associative Array( split_tests, If( Contains( aa, split_tests[i] ), aa[split_tests[i]] ) )
	
);
show(new_aa)&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 03 Aug 2023 19:15:45 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Associative-Array-splitting-keys/m-p/665339#M85367</guid>
      <dc:creator>Jackie_</dc:creator>
      <dc:date>2023-08-03T19:15:45Z</dc:date>
    </item>
    <item>
      <title>Re: Associative Array - splitting keys</title>
      <link>https://community.jmp.com/t5/Discussions/Associative-Array-splitting-keys/m-p/665418#M85371</link>
      <description>&lt;P&gt;Here is what I would do to get the Associative Array you are looking for&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = Data Table( "dt" );

// Get all columns
allOrigColumnsList = dt &amp;lt;&amp;lt; get column names( string );

// Move individual elements of the column, to individual columns
dt &amp;lt;&amp;lt; Text To Columns( delimiter( "," ), columns( :paretotop20 ) );

// Find all new columns
newColList = dt &amp;lt;&amp;lt; get column names( string );
For( i = N Items( newColList ), i &amp;gt;= 1, i--,
	If( Contains( allOrigColumnsList,
		newColList[i]),
		Remove From( newColList, i, 1 )
	)
);
dtStack = Data Table( "dt" ) &amp;lt;&amp;lt; Stack(
	columns( eval(newColList) ),
	Source Label Column( "Label" ),
	Stacked Data Column( "Data" ),
	"Non-stacked columns"n( Keep( :"% of Total"n ) ),
	Output Table( "Untitled 60.jmp" )
);
dtStack &amp;lt;&amp;lt; select where(:Data == "" );
dtStack &amp;lt;&amp;lt; delete rows;

aa = Associative Array( Column( dtStack, 3 ) &amp;lt;&amp;lt; get values, Column( dtStack, 1 ) &amp;lt;&amp;lt; get values );&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 03 Aug 2023 21:45:16 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Associative-Array-splitting-keys/m-p/665418#M85371</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2023-08-03T21:45:16Z</dc:date>
    </item>
    <item>
      <title>Re: Associative Array - splitting keys</title>
      <link>https://community.jmp.com/t5/Discussions/Associative-Array-splitting-keys/m-p/665428#M85373</link>
      <description>&lt;P&gt;Thanks, Jim!&lt;/P&gt;</description>
      <pubDate>Thu, 03 Aug 2023 21:57:37 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Associative-Array-splitting-keys/m-p/665428#M85373</guid>
      <dc:creator>Jackie_</dc:creator>
      <dc:date>2023-08-03T21:57:37Z</dc:date>
    </item>
  </channel>
</rss>

