<?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 Creating a formula column from a list ( JSL ) in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/Creating-a-formula-column-from-a-list-JSL/m-p/615658#M81540</link>
    <description>&lt;P&gt;I want to create a simple formula for adding columns that are coming from a list.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The list can vary in the number of elements.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );

dt = Open( "$SAMPLE_DATA/Bands Data.JMP" );

col_list = {"varnish pct", "ink pct", "solvent pct" };
&lt;BR /&gt;// expected formula (hard coded)
dt  &amp;lt;&amp;lt; New Column( "mysum",
	Formula( Sum( :varnish pct, :ink pct, :solvent pct ) )
	);
	&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;This solution works for a Col Sum.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.jmp.com/t5/Discussions/Using-list-of-columns-in-formulas/td-p/405133" target="_blank"&gt;https://community.jmp.com/t5/Discussions/Using-list-of-columns-in-formulas/td-p/405133&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 09 Jun 2023 16:06:11 GMT</pubDate>
    <dc:creator>FN</dc:creator>
    <dc:date>2023-06-09T16:06:11Z</dc:date>
    <item>
      <title>Creating a formula column from a list ( JSL )</title>
      <link>https://community.jmp.com/t5/Discussions/Creating-a-formula-column-from-a-list-JSL/m-p/615658#M81540</link>
      <description>&lt;P&gt;I want to create a simple formula for adding columns that are coming from a list.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The list can vary in the number of elements.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );

dt = Open( "$SAMPLE_DATA/Bands Data.JMP" );

col_list = {"varnish pct", "ink pct", "solvent pct" };
&lt;BR /&gt;// expected formula (hard coded)
dt  &amp;lt;&amp;lt; New Column( "mysum",
	Formula( Sum( :varnish pct, :ink pct, :solvent pct ) )
	);
	&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;This solution works for a Col Sum.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.jmp.com/t5/Discussions/Using-list-of-columns-in-formulas/td-p/405133" target="_blank"&gt;https://community.jmp.com/t5/Discussions/Using-list-of-columns-in-formulas/td-p/405133&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 09 Jun 2023 16:06:11 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Creating-a-formula-column-from-a-list-JSL/m-p/615658#M81540</guid>
      <dc:creator>FN</dc:creator>
      <dc:date>2023-06-09T16:06:11Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a formula column from a list ( JSL )</title>
      <link>https://community.jmp.com/t5/Discussions/Creating-a-formula-column-from-a-list-JSL/m-p/615695#M81543</link>
      <description>&lt;P&gt;Here is one way of handling the issue&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );

dt = Open( "$SAMPLE_DATA/Bands Data.JMP" );

theList = {"varnish pct", "ink pct", "solvent pct"};

col_list = {"varnish pct", "ink pct", "solvent pct"};

Eval(
	Parse(
		"dt  &amp;lt;&amp;lt; New Column( \!"mysum\!",
	Formula( " ||
		concat items( theList, "," ) || " ) )
	);"
	)
);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Because formulas are open code, the actual is not evaluated as it is generated,&amp;nbsp; Therefore, it has to be a completed statement for JMP to process it properly.&lt;/P&gt;</description>
      <pubDate>Thu, 23 Mar 2023 02:54:52 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Creating-a-formula-column-from-a-list-JSL/m-p/615695#M81543</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2023-03-23T02:54:52Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a formula column from a list ( JSL )</title>
      <link>https://community.jmp.com/t5/Discussions/Creating-a-formula-column-from-a-list-JSL/m-p/615705#M81546</link>
      <description>&lt;P&gt;The code works, but it was missing "Sum()".&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you edit the answer, I will accept it. Thanks :)&lt;/img&gt;&lt;/P&gt;&lt;PRE&gt;Names Default To Here( 1 );

dt = Open( "$SAMPLE_DATA/Bands Data.JMP" );

col_list = {"varnish pct", "ink pct", "solvent pct"};

Eval(
	Parse(
		"dt  &amp;lt;&amp;lt; New Column( \!"mysum\!",
	Formula( Sum(" ||
		concat items( col_list, "," ) || " ) )
	);"
	)
);&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Mar 2023 05:35:40 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Creating-a-formula-column-from-a-list-JSL/m-p/615705#M81546</guid>
      <dc:creator>FN</dc:creator>
      <dc:date>2023-03-23T05:35:40Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a formula column from a list ( JSL )</title>
      <link>https://community.jmp.com/t5/Discussions/Creating-a-formula-column-from-a-list-JSL/m-p/615721#M81548</link>
      <description>&lt;P&gt;I try to avoid using Eval(Parse()) when ever I can (even though it is fairly often the easiest method). Usually in cases like this (now) I build the expression and evaluate that expression inside the formula&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );

dt = Open( "$SAMPLE_DATA/Bands Data.JMP" );

col_list = {"varnish pct", "ink pct", "solvent pct"};

// 1
sum_expr = Expr(Sum());
For Each({item}, col_list,
	Insert Into(sum_expr, Name Expr(As Column(dt, item)));
);
//show(Name Expr(sum_expr));
Eval(EvalExpr(
	dt  &amp;lt;&amp;lt; New Column( "mysum",
		Formula(Expr(Name Expr(sum_expr)))
	)
));

// 2
col_listing = Transform Each({item}, col_list,
	Name Expr(As Column(dt, item));
);
Eval(Substitute(
	Expr(dt &amp;lt;&amp;lt; New Column( "mysum", Formula(_sums_))),
	Expr(_sums_), Substitute(col_listing, Expr(List()), Expr(Sum()));
));&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 23 Mar 2023 06:40:22 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Creating-a-formula-column-from-a-list-JSL/m-p/615721#M81548</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2023-03-23T06:40:22Z</dc:date>
    </item>
  </channel>
</rss>

