<?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: Join based on two field names in App Development</title>
    <link>https://community.qlik.com/t5/App-Development/Join-based-on-two-field-names/m-p/1809485#M65958</link>
    <description>&lt;P&gt;You can try something with LevenshteinDistance&amp;nbsp;&lt;A href="https://help.qlik.com/en-US/sense/February2021/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/LevenshteinDist.htm" target="_blank"&gt;https://help.qlik.com/en-US/sense/February2021/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/LevenshteinDist.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;First you make a Cartesian Join and then do the math. Be careful with big/huge data, rows...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Tab1:
LOAD 1 as TMP
,    *
;
LOAD * INLINE [Name|	ID
DES GUZMANSHIP SALASA, Danis Marc |1
SHAH GOPAL, saumya	|2
JACOB KING, Stan	|3
] (delimiter is '|');

 join
LOAD 1 as TMP
,    *
;
LOAD * INLINE [Name2|Country
Danis Marc Guzmanship Des Salasa	|France
Saumya Gopal Shah	|India
Stan Jacob King	|UK
] (delimiter is '|');

Tab2:
LOAD *
,	 LevenshteinDist(lower(Name), lower(Name2)) as Score
Resident Tab1;

inner join (Tab2)
LOAD Name
,    min(Score) as Score
Resident Tab2
Group By Name;

drop table Tab1;
drop field Score;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 20 May 2021 15:02:00 GMT</pubDate>
    <dc:creator>eddie_wagt</dc:creator>
    <dc:date>2021-05-20T15:02:00Z</dc:date>
    <item>
      <title>Join based on two field names</title>
      <link>https://community.qlik.com/t5/App-Development/Join-based-on-two-field-names/m-p/1809364#M65940</link>
      <description>&lt;P&gt;I want to join two tables with&amp;nbsp; jumbled words of name&lt;/P&gt;&lt;P&gt;Table A&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Name&lt;/TD&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;DIV&gt;DES GUZMANSHIP SALASA, Danis Marc&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;SHAH GOPAL, saumya&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;JACOB KING, Stan&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table B&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Name&lt;/TD&gt;&lt;TD&gt;Country&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Danis Marc Guzmanship Des Salasa&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Saumya Gopal Shah&lt;/TD&gt;&lt;TD&gt;India&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Stan Jacob King&lt;/TD&gt;&lt;TD&gt;UK&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Thu, 20 May 2021 09:51:57 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Join-based-on-two-field-names/m-p/1809364#M65940</guid>
      <dc:creator>SaumyaShah</dc:creator>
      <dc:date>2021-05-20T09:51:57Z</dc:date>
    </item>
    <item>
      <title>Re: Join based on two field names</title>
      <link>https://community.qlik.com/t5/App-Development/Join-based-on-two-field-names/m-p/1809380#M65942</link>
      <description>&lt;P&gt;There's no built-in way to do this. You'll have to normalize the data so your keys are identical (or derive another field where the data is identical).&lt;/P&gt;&lt;P&gt;Have a look at e.g. &lt;A href="https://community.qlik.com/t5/QlikView-App-Dev/Approximate-String-Matching-in-QlikView/td-p/520172" target="_blank"&gt;https://community.qlik.com/t5/QlikView-App-Dev/Approximate-String-Matching-in-QlikView/td-p/520172&lt;/A&gt; for techniques that might help you compare two similar but not identical strings.&lt;/P&gt;</description>
      <pubDate>Thu, 20 May 2021 10:33:57 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Join-based-on-two-field-names/m-p/1809380#M65942</guid>
      <dc:creator>Or</dc:creator>
      <dc:date>2021-05-20T10:33:57Z</dc:date>
    </item>
    <item>
      <title>Re: Join based on two field names</title>
      <link>https://community.qlik.com/t5/App-Development/Join-based-on-two-field-names/m-p/1809485#M65958</link>
      <description>&lt;P&gt;You can try something with LevenshteinDistance&amp;nbsp;&lt;A href="https://help.qlik.com/en-US/sense/February2021/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/LevenshteinDist.htm" target="_blank"&gt;https://help.qlik.com/en-US/sense/February2021/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/LevenshteinDist.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;First you make a Cartesian Join and then do the math. Be careful with big/huge data, rows...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Tab1:
LOAD 1 as TMP
,    *
;
LOAD * INLINE [Name|	ID
DES GUZMANSHIP SALASA, Danis Marc |1
SHAH GOPAL, saumya	|2
JACOB KING, Stan	|3
] (delimiter is '|');

 join
LOAD 1 as TMP
,    *
;
LOAD * INLINE [Name2|Country
Danis Marc Guzmanship Des Salasa	|France
Saumya Gopal Shah	|India
Stan Jacob King	|UK
] (delimiter is '|');

Tab2:
LOAD *
,	 LevenshteinDist(lower(Name), lower(Name2)) as Score
Resident Tab1;

inner join (Tab2)
LOAD Name
,    min(Score) as Score
Resident Tab2
Group By Name;

drop table Tab1;
drop field Score;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 20 May 2021 15:02:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Join-based-on-two-field-names/m-p/1809485#M65958</guid>
      <dc:creator>eddie_wagt</dc:creator>
      <dc:date>2021-05-20T15:02:00Z</dc:date>
    </item>
  </channel>
</rss>

