<?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: 怎样用脚本计算不同字符串中字符相同的个数。 in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/%E6%80%8E%E6%A0%B7%E7%94%A8%E8%84%9A%E6%9C%AC%E8%AE%A1%E7%AE%97%E4%B8%8D%E5%90%8C%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E5%AD%97%E7%AC%A6%E7%9B%B8%E5%90%8C%E7%9A%84%E4%B8%AA%E6%95%B0/m-p/486128#M73010</link>
    <description>&lt;P&gt;If no duplication is allowed you could try using associative arrays and their set operations:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1);

dt = New Table("demo",
	Add Rows(4),
	New Column("A", Character, "Nominal", Set Values({"KDBAC", "FLGHEK", "ONLCQR", "WVTZXR"})),
	New Column("B", Character, "Nominal", Set Values({"ROMNLQ", "DFBACE", "LKGHJK", "WVTZYX"}))
);

// Create lookup associative array, with row number as key and value as associative array with 
// keys as characters in row. This will be used in union operations
aa_lookup = Associative Array();
For Each({val, idx}, dt:B &amp;lt;&amp;lt; get values,
	aa_lookup[idx] = Associative Array(Eval List(Words(val, "")));
);

// Create collection column
dt &amp;lt;&amp;lt; New Column("C", Numeric, Continuous);

For Each Row(dt,
	best_match = 0;
	max_row = .;
	For Each({{key, val}}, aa_lookup,
		cur_aa = Associative Array(Eval List(Words(:A, "")));
		cur_aa &amp;lt;&amp;lt; Intersect(val);
		cur_match = N Items(cur_aa);
		If(cur_match &amp;gt; best_match,
			best_match = cur_match;	
			max_row = key;
		);
	);
	:C = max_row;
);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jthi_0-1652283682820.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/42380iCFA28702829544FF/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_0-1652283682820.png" alt="jthi_0-1652283682820.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 11 May 2022 15:41:37 GMT</pubDate>
    <dc:creator>jthi</dc:creator>
    <dc:date>2022-05-11T15:41:37Z</dc:date>
    <item>
      <title>怎样用脚本计算不同字符串中字符相同的个数。</title>
      <link>https://community.jmp.com/t5/Discussions/%E6%80%8E%E6%A0%B7%E7%94%A8%E8%84%9A%E6%9C%AC%E8%AE%A1%E7%AE%97%E4%B8%8D%E5%90%8C%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E5%AD%97%E7%AC%A6%E7%9B%B8%E5%90%8C%E7%9A%84%E4%B8%AA%E6%95%B0/m-p/485960#M72988</link>
      <description>&lt;P&gt;怎样用脚本实现将数据表的内容与第二个表中内容匹配的字符数量,不考虑顺序 、相符合数据最多的返回第二个表的行号。&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;我只会编写简单的循环比较。&lt;/P&gt;&lt;P&gt;如果要比较的字符串数量很多时、怎样才能较快速。&lt;/P&gt;&lt;P&gt;谢谢！&lt;/P&gt;</description>
      <pubDate>Fri, 09 Jun 2023 16:58:59 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/%E6%80%8E%E6%A0%B7%E7%94%A8%E8%84%9A%E6%9C%AC%E8%AE%A1%E7%AE%97%E4%B8%8D%E5%90%8C%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E5%AD%97%E7%AC%A6%E7%9B%B8%E5%90%8C%E7%9A%84%E4%B8%AA%E6%95%B0/m-p/485960#M72988</guid>
      <dc:creator>lala</dc:creator>
      <dc:date>2023-06-09T16:58:59Z</dc:date>
    </item>
    <item>
      <title>Re: 怎样用脚本计算不同字符串中字符相同的个数。</title>
      <link>https://community.jmp.com/t5/Discussions/%E6%80%8E%E6%A0%B7%E7%94%A8%E8%84%9A%E6%9C%AC%E8%AE%A1%E7%AE%97%E4%B8%8D%E5%90%8C%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E5%AD%97%E7%AC%A6%E7%9B%B8%E5%90%8C%E7%9A%84%E4%B8%AA%E6%95%B0/m-p/485963#M72989</link>
      <description>&lt;P&gt;For example,&lt;/P&gt;&lt;P&gt;string for the first table&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;"KDBAC"
"FLGHEK"
"ONLCQR"
"WVTZXR"&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;String for the second table&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;"ROMNLQ"
"DFBACE"
"LKGHJK"
"WVTZYX"&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 11 May 2022 08:13:31 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/%E6%80%8E%E6%A0%B7%E7%94%A8%E8%84%9A%E6%9C%AC%E8%AE%A1%E7%AE%97%E4%B8%8D%E5%90%8C%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E5%AD%97%E7%AC%A6%E7%9B%B8%E5%90%8C%E7%9A%84%E4%B8%AA%E6%95%B0/m-p/485963#M72989</guid>
      <dc:creator>lala</dc:creator>
      <dc:date>2022-05-11T08:13:31Z</dc:date>
    </item>
    <item>
      <title>Re: 怎样用脚本计算不同字符串中字符相同的个数。</title>
      <link>https://community.jmp.com/t5/Discussions/%E6%80%8E%E6%A0%B7%E7%94%A8%E8%84%9A%E6%9C%AC%E8%AE%A1%E7%AE%97%E4%B8%8D%E5%90%8C%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E5%AD%97%E7%AC%A6%E7%9B%B8%E5%90%8C%E7%9A%84%E4%B8%AA%E6%95%B0/m-p/486035#M73002</link>
      <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2022-05-11_21-28-12.png" style="width: 414px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/42375iF68A6E9FA25D6DF5/image-size/large?v=v2&amp;amp;px=999" role="button" title="2022-05-11_21-28-12.png" alt="2022-05-11_21-28-12.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 11 May 2022 13:29:20 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/%E6%80%8E%E6%A0%B7%E7%94%A8%E8%84%9A%E6%9C%AC%E8%AE%A1%E7%AE%97%E4%B8%8D%E5%90%8C%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E5%AD%97%E7%AC%A6%E7%9B%B8%E5%90%8C%E7%9A%84%E4%B8%AA%E6%95%B0/m-p/486035#M73002</guid>
      <dc:creator>lala</dc:creator>
      <dc:date>2022-05-11T13:29:20Z</dc:date>
    </item>
    <item>
      <title>Re: 怎样用脚本计算不同字符串中字符相同的个数。</title>
      <link>https://community.jmp.com/t5/Discussions/%E6%80%8E%E6%A0%B7%E7%94%A8%E8%84%9A%E6%9C%AC%E8%AE%A1%E7%AE%97%E4%B8%8D%E5%90%8C%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E5%AD%97%E7%AC%A6%E7%9B%B8%E5%90%8C%E7%9A%84%E4%B8%AA%E6%95%B0/m-p/486079#M73006</link>
      <description>&lt;P&gt;Can there be duplicated characters in the strings?&lt;/P&gt;</description>
      <pubDate>Wed, 11 May 2022 14:20:52 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/%E6%80%8E%E6%A0%B7%E7%94%A8%E8%84%9A%E6%9C%AC%E8%AE%A1%E7%AE%97%E4%B8%8D%E5%90%8C%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E5%AD%97%E7%AC%A6%E7%9B%B8%E5%90%8C%E7%9A%84%E4%B8%AA%E6%95%B0/m-p/486079#M73006</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2022-05-11T14:20:52Z</dc:date>
    </item>
    <item>
      <title>Re: 怎样用脚本计算不同字符串中字符相同的个数。</title>
      <link>https://community.jmp.com/t5/Discussions/%E6%80%8E%E6%A0%B7%E7%94%A8%E8%84%9A%E6%9C%AC%E8%AE%A1%E7%AE%97%E4%B8%8D%E5%90%8C%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E5%AD%97%E7%AC%A6%E7%9B%B8%E5%90%8C%E7%9A%84%E4%B8%AA%E6%95%B0/m-p/486128#M73010</link>
      <description>&lt;P&gt;If no duplication is allowed you could try using associative arrays and their set operations:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1);

dt = New Table("demo",
	Add Rows(4),
	New Column("A", Character, "Nominal", Set Values({"KDBAC", "FLGHEK", "ONLCQR", "WVTZXR"})),
	New Column("B", Character, "Nominal", Set Values({"ROMNLQ", "DFBACE", "LKGHJK", "WVTZYX"}))
);

// Create lookup associative array, with row number as key and value as associative array with 
// keys as characters in row. This will be used in union operations
aa_lookup = Associative Array();
For Each({val, idx}, dt:B &amp;lt;&amp;lt; get values,
	aa_lookup[idx] = Associative Array(Eval List(Words(val, "")));
);

// Create collection column
dt &amp;lt;&amp;lt; New Column("C", Numeric, Continuous);

For Each Row(dt,
	best_match = 0;
	max_row = .;
	For Each({{key, val}}, aa_lookup,
		cur_aa = Associative Array(Eval List(Words(:A, "")));
		cur_aa &amp;lt;&amp;lt; Intersect(val);
		cur_match = N Items(cur_aa);
		If(cur_match &amp;gt; best_match,
			best_match = cur_match;	
			max_row = key;
		);
	);
	:C = max_row;
);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jthi_0-1652283682820.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/42380iCFA28702829544FF/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_0-1652283682820.png" alt="jthi_0-1652283682820.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 11 May 2022 15:41:37 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/%E6%80%8E%E6%A0%B7%E7%94%A8%E8%84%9A%E6%9C%AC%E8%AE%A1%E7%AE%97%E4%B8%8D%E5%90%8C%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E5%AD%97%E7%AC%A6%E7%9B%B8%E5%90%8C%E7%9A%84%E4%B8%AA%E6%95%B0/m-p/486128#M73010</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2022-05-11T15:41:37Z</dc:date>
    </item>
    <item>
      <title>Re: 怎样用脚本计算不同字符串中字符相同的个数。</title>
      <link>https://community.jmp.com/t5/Discussions/%E6%80%8E%E6%A0%B7%E7%94%A8%E8%84%9A%E6%9C%AC%E8%AE%A1%E7%AE%97%E4%B8%8D%E5%90%8C%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E5%AD%97%E7%AC%A6%E7%9B%B8%E5%90%8C%E7%9A%84%E4%B8%AA%E6%95%B0/m-p/486197#M73016</link>
      <description>&lt;P&gt;JMP Pro 15.2,&lt;/P&gt;&lt;P&gt;Thank jthi!&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2022-05-12_08-54-42.png" style="width: 808px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/42383i75B31D39839C41BD/image-size/large?v=v2&amp;amp;px=999" role="button" title="2022-05-12_08-54-42.png" alt="2022-05-12_08-54-42.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 12 May 2022 00:57:10 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/%E6%80%8E%E6%A0%B7%E7%94%A8%E8%84%9A%E6%9C%AC%E8%AE%A1%E7%AE%97%E4%B8%8D%E5%90%8C%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E5%AD%97%E7%AC%A6%E7%9B%B8%E5%90%8C%E7%9A%84%E4%B8%AA%E6%95%B0/m-p/486197#M73016</guid>
      <dc:creator>lala</dc:creator>
      <dc:date>2022-05-12T00:57:10Z</dc:date>
    </item>
    <item>
      <title>Re: 怎样用脚本计算不同字符串中字符相同的个数。</title>
      <link>https://community.jmp.com/t5/Discussions/%E6%80%8E%E6%A0%B7%E7%94%A8%E8%84%9A%E6%9C%AC%E8%AE%A1%E7%AE%97%E4%B8%8D%E5%90%8C%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E5%AD%97%E7%AC%A6%E7%9B%B8%E5%90%8C%E7%9A%84%E4%B8%AA%E6%95%B0/m-p/486227#M73021</link>
      <description>&lt;P&gt;If you are using JMP15 you have to change For Each to For-loop.&lt;/P&gt;</description>
      <pubDate>Thu, 12 May 2022 09:32:27 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/%E6%80%8E%E6%A0%B7%E7%94%A8%E8%84%9A%E6%9C%AC%E8%AE%A1%E7%AE%97%E4%B8%8D%E5%90%8C%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E5%AD%97%E7%AC%A6%E7%9B%B8%E5%90%8C%E7%9A%84%E4%B8%AA%E6%95%B0/m-p/486227#M73021</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2022-05-12T09:32:27Z</dc:date>
    </item>
  </channel>
</rss>

