<?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: creating new variables derived from multiple rows per ID in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/creating-new-variables-derived-from-multiple-rows-per-ID/m-p/415231#M66439</link>
    <description>&lt;P&gt;Many ways to do this. I would calculate how many times type appears in ID and if it is the same amount as ID appears in data, then you know it is the only type.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Summary with formula:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1);

dt = New Table("From",
	Add Rows(8),
	New Column("ID", Numeric, "Nominal", Format("Best", 12), Set Values([1, 1, 1, 2, 2, 3, 3, 3])),
	New Column("type", Character(16), "Nominal", Set Values({"A", "A", "B", "A", "A", "B", "B", "B"}))
);

dt_summary = dt &amp;lt;&amp;lt; Summary(
	Output table("To"),
	Group(:ID),
	N(:type),
	Subgroup(:type),
	Freq("None"),
	Weight("None"),
	statistics column name format("column"),
	Link to original data table(0)	
);

dt_summary &amp;lt;&amp;lt; New Column("type2", Character, "Nominal", 
	&amp;lt;&amp;lt; Set Each Value(
		If(:"type, A"n == 0, "B",
			:"type, B"n	== 0, "A",
			"C"
		)
	)
);&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;And other using Col Sum with Select duplicated rows:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1);
dt = New Table("From",
	Add Rows(8),
	New Column("ID", Numeric, "Nominal", Format("Best", 12), Set Values([1, 1, 1, 2, 2, 3, 3, 3])),
	New Column("type", Character(16), "Nominal", Set Values({"A", "A", "B", "A", "A", "B", "B", "B"}))
);
dt &amp;lt;&amp;lt; New Column("type2", Character, Nomimal, Formula(
	If(Col Sum(1, :ID) == Col Sum(1, :ID, :type),
		:type,
		"C"
	)
));
wait(1);
dt:type2 &amp;lt;&amp;lt; Delete Formula;
wait(1);
dt &amp;lt;&amp;lt; Select Duplicate Rows(Match(:ID, :type2));&lt;BR /&gt;wait(1);&lt;BR /&gt;dt &amp;lt;&amp;lt; Delete Rows;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;See Scripting Index for more information about the functions especially Col Sum.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 03 Sep 2021 14:25:21 GMT</pubDate>
    <dc:creator>jthi</dc:creator>
    <dc:date>2021-09-03T14:25:21Z</dc:date>
    <item>
      <title>creating new variables derived from multiple rows per ID</title>
      <link>https://community.jmp.com/t5/Discussions/creating-new-variables-derived-from-multiple-rows-per-ID/m-p/415202#M66435</link>
      <description>&lt;P&gt;Hello ,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to create one variable (type2) from multiple rows per ID using variable type. I want to covert a table like this one:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ID&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;type&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;A&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;A&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;B&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&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;To:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ID&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;type2&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;C&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&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;Where type2 is: &amp;nbsp;&lt;/P&gt;&lt;P&gt;If type is always A then type2=A;&lt;/P&gt;&lt;P&gt;If type is always B then type2=B;&lt;/P&gt;&lt;P&gt;If type is a combination of A and B then type2=C;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Sat, 10 Jun 2023 23:36:23 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/creating-new-variables-derived-from-multiple-rows-per-ID/m-p/415202#M66435</guid>
      <dc:creator>Blanco15</dc:creator>
      <dc:date>2023-06-10T23:36:23Z</dc:date>
    </item>
    <item>
      <title>Re: creating new variables derived from multiple rows per ID</title>
      <link>https://community.jmp.com/t5/Discussions/creating-new-variables-derived-from-multiple-rows-per-ID/m-p/415231#M66439</link>
      <description>&lt;P&gt;Many ways to do this. I would calculate how many times type appears in ID and if it is the same amount as ID appears in data, then you know it is the only type.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Summary with formula:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1);

dt = New Table("From",
	Add Rows(8),
	New Column("ID", Numeric, "Nominal", Format("Best", 12), Set Values([1, 1, 1, 2, 2, 3, 3, 3])),
	New Column("type", Character(16), "Nominal", Set Values({"A", "A", "B", "A", "A", "B", "B", "B"}))
);

dt_summary = dt &amp;lt;&amp;lt; Summary(
	Output table("To"),
	Group(:ID),
	N(:type),
	Subgroup(:type),
	Freq("None"),
	Weight("None"),
	statistics column name format("column"),
	Link to original data table(0)	
);

dt_summary &amp;lt;&amp;lt; New Column("type2", Character, "Nominal", 
	&amp;lt;&amp;lt; Set Each Value(
		If(:"type, A"n == 0, "B",
			:"type, B"n	== 0, "A",
			"C"
		)
	)
);&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;And other using Col Sum with Select duplicated rows:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1);
dt = New Table("From",
	Add Rows(8),
	New Column("ID", Numeric, "Nominal", Format("Best", 12), Set Values([1, 1, 1, 2, 2, 3, 3, 3])),
	New Column("type", Character(16), "Nominal", Set Values({"A", "A", "B", "A", "A", "B", "B", "B"}))
);
dt &amp;lt;&amp;lt; New Column("type2", Character, Nomimal, Formula(
	If(Col Sum(1, :ID) == Col Sum(1, :ID, :type),
		:type,
		"C"
	)
));
wait(1);
dt:type2 &amp;lt;&amp;lt; Delete Formula;
wait(1);
dt &amp;lt;&amp;lt; Select Duplicate Rows(Match(:ID, :type2));&lt;BR /&gt;wait(1);&lt;BR /&gt;dt &amp;lt;&amp;lt; Delete Rows;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;See Scripting Index for more information about the functions especially Col Sum.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Sep 2021 14:25:21 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/creating-new-variables-derived-from-multiple-rows-per-ID/m-p/415231#M66439</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2021-09-03T14:25:21Z</dc:date>
    </item>
    <item>
      <title>Re: creating new variables derived from multiple rows per ID</title>
      <link>https://community.jmp.com/t5/Discussions/creating-new-variables-derived-from-multiple-rows-per-ID/m-p/415495#M66453</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It looks like your table may be sorted by :ID and :type. If it is, or if you are willing to sort it, you can take advantage of this and use a (relatively) simple formula for the :type2 column:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;If( :type[Col Min( Row(), :ID )] == :type[Col Max( Row(), :ID )],
	:type,
	"C"
)&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Cheers,&lt;/P&gt;
&lt;P&gt;Brady&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Sep 2021 22:01:03 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/creating-new-variables-derived-from-multiple-rows-per-ID/m-p/415495#M66453</guid>
      <dc:creator>brady_brady</dc:creator>
      <dc:date>2021-09-03T22:01:03Z</dc:date>
    </item>
  </channel>
</rss>

