<?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: User-Defined Function: How to pass output variable value to another variable in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/User-Defined-Function-How-to-pass-output-variable-value-to/m-p/40780#M23821</link>
    <description>&lt;P&gt;What is passed back from a JMP function or Format is the last value processed, therefore if you add "duplicate" as the last item, it works great.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;ColCheck = Function( {main, second},
	{duplicate},
	duplicate = {};
	Show( duplicate );
	For( i = 1, i &amp;lt;= N Items( main ), i++, 
		 //Check if there are missing columns from user input
		If( !Contains( col_name_list, main[i] ),
			Write( "WARNING! Column " || main[i] || " does not exists. Creating data column." );
			Caption( "WARNING! Column " || main[i] || " does not exists. Creating data column." );
			Wait( 1 );
			script1 = "dt&amp;lt;&amp;lt;New Column(\!"" || main[i] || "\!", numeric, continuous);";
			script1 = Eval( Parse( script1 ) );
		);
		 //Check if there are overlap columns between two lists
		For( j = 1, j &amp;lt;= N Items( second ), j++,
			If( second[j] == main[i],
				duplicate = Insert( duplicate, second[j] );
				Show( duplicate );
			)
		);
	);
	duplicate;
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 20 Jun 2017 11:33:29 GMT</pubDate>
    <dc:creator>txnelson</dc:creator>
    <dc:date>2017-06-20T11:33:29Z</dc:date>
    <item>
      <title>User-Defined Function: How to pass output variable value to another variable</title>
      <link>https://community.jmp.com/t5/Discussions/User-Defined-Function-How-to-pass-output-variable-value-to/m-p/40768#M23813</link>
      <description>&lt;P&gt;Hi, I am making a code that validates user input. The user input are two lists, B and C. The output is list A, which contains all the items that are contained in both B and C. Here is the code:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;//CHECK IF USER INPUT MAKES SENSE 
Caption("Checking input data...");
col_name_list = dt &amp;lt;&amp;lt; get column names( string );

//Check if there are duplicate or missing inputs
//Create a User-Defined Function
ColCheck=Function({main, second}, {duplicate},
	(duplicate={};  Show (duplicate);
	For (i=1, i&amp;lt;=Nitems(main), i++,
		 //Check if there are missing columns from user input
		 If ( !Contains( col_name_list, main[i] ),
			  Write("WARNING! Column " || main[i] ||" does not exists. Creating data column.");
			  Caption("WARNING! Column " || main[i] ||" does not exists. Creating data column.");
			  Wait( 1 );
			  script1 = "dt&amp;lt;&amp;lt;New Column(\!"" || main[i] ||"\!", numeric, continuous);";
			  script1 = Eval( Parse( script1 ) );
			 );
		 //Check if there are overlap columns between two lists
		 For (j=1, j&amp;lt;=Nitems(second), j++,
		 	  If ( second[j] == main[i],
				   duplicate=Insert(duplicate,second[j]); Show (duplicate);
				 );
			 );	
		);
)
);
//Quick test to show if function is working	
A={}; Show(A);
B={"one", "two", "three"};
C={"four", "five", "three", "two"};
A=ColCheck(B,C);
Show(A);&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Here is the output:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;A = {};
duplicate = {};
duplicate = {"two"};
duplicate = {"two", "three"};
A = .;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;The functions works, as seen from the values of "duplicate" variable.&amp;nbsp; The problem is this: the duplicate content cannot be passed to variable "A". Is there anything wrong with my code?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jun 2017 06:07:23 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/User-Defined-Function-How-to-pass-output-variable-value-to/m-p/40768#M23813</guid>
      <dc:creator>shaira</dc:creator>
      <dc:date>2017-06-20T06:07:23Z</dc:date>
    </item>
    <item>
      <title>Re: User-Defined Function: How to pass output variable value to another variable</title>
      <link>https://community.jmp.com/t5/Discussions/User-Defined-Function-How-to-pass-output-variable-value-to/m-p/40780#M23821</link>
      <description>&lt;P&gt;What is passed back from a JMP function or Format is the last value processed, therefore if you add "duplicate" as the last item, it works great.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;ColCheck = Function( {main, second},
	{duplicate},
	duplicate = {};
	Show( duplicate );
	For( i = 1, i &amp;lt;= N Items( main ), i++, 
		 //Check if there are missing columns from user input
		If( !Contains( col_name_list, main[i] ),
			Write( "WARNING! Column " || main[i] || " does not exists. Creating data column." );
			Caption( "WARNING! Column " || main[i] || " does not exists. Creating data column." );
			Wait( 1 );
			script1 = "dt&amp;lt;&amp;lt;New Column(\!"" || main[i] || "\!", numeric, continuous);";
			script1 = Eval( Parse( script1 ) );
		);
		 //Check if there are overlap columns between two lists
		For( j = 1, j &amp;lt;= N Items( second ), j++,
			If( second[j] == main[i],
				duplicate = Insert( duplicate, second[j] );
				Show( duplicate );
			)
		);
	);
	duplicate;
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 20 Jun 2017 11:33:29 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/User-Defined-Function-How-to-pass-output-variable-value-to/m-p/40780#M23821</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2017-06-20T11:33:29Z</dc:date>
    </item>
    <item>
      <title>Re: User-Defined Function: How to pass output variable value to another variable</title>
      <link>https://community.jmp.com/t5/Discussions/User-Defined-Function-How-to-pass-output-variable-value-to/m-p/41049#M23940</link>
      <description>&lt;P&gt;Thanks Jim. It's working now.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best,&lt;/P&gt;&lt;P&gt;Shaira&lt;/P&gt;</description>
      <pubDate>Thu, 22 Jun 2017 00:30:25 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/User-Defined-Function-How-to-pass-output-variable-value-to/m-p/41049#M23940</guid>
      <dc:creator>shaira</dc:creator>
      <dc:date>2017-06-22T00:30:25Z</dc:date>
    </item>
  </channel>
</rss>

