<?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: Fuzzy Matching Names and Join table in Load Statment in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/Fuzzy-Matching-Names-and-Join-table-in-Load-Statment/m-p/1698635#M725422</link>
    <description>&lt;P&gt;Please check the below link also. This is my solution similar to your problem. If you have any question on this, let me know.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.qlik.com/t5/New-to-QlikView/Join-table-without-prefix/m-p/1698575/highlight/false#M388690" target="_blank"&gt;https://community.qlik.com/t5/New-to-QlikView/Join-table-without-prefix/m-p/1698575/highlight/false#M388690&lt;/A&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Function levenshtein( a, b )
	Dim i,j,cost,d,min1,min2,min3
	
 ' Avoid calculations where there there are empty words
	If Len( a ) = 0 Then levenshtein = Len( b &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt; Exit Function
	If Len( b ) = 0 Then levenshtein = Len( a &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt; Exit Function
	
 ' Array initialization	
	ReDim d( Len( a ), Len( b ) )

	For i = 0 To Len( a &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt; d( i, 0 ) = i: Next
	For j = 0 To Len( b &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt; d( 0, j ) = j: Next
	
 ' Actual calculation
	For i = 1 To Len( a )
		For j = 1 To Len( b )
                        If Mid(a, i, 1) = Mid(b, j, 1) Then cost = 0 Else cost = 1 End If
			
			' Since min() function is not a part of VBScript, we'll "emulate" it below
			min1 = ( d( i - 1, j ) + 1 )
			min2 = ( d( i, j - 1 ) + 1 )
			min3 = ( d( i - 1, j - 1 ) + cost )
			
			If min1 &amp;lt;= min2 And min1 &amp;lt;= min3 Then
				d( i, j ) = min1
			ElseIf min2 &amp;lt;= min1 And min2 &amp;lt;= min3 Then
				d( i, j ) = min2
			Else
				d( i, j ) = min3
			End If
		Next
	Next

	levenshtein = d( Len( a ), Len( b ) )
End Function&lt;/LI-CODE&gt;&lt;LI-CODE lang="markup"&gt;Table1:
LOAD * INLINE [
    ContID, Contact, CompanyName
    32445, John@decisive.org, Decisive Data
    43634, Dave@decisive.org, Decisive Data Inc
    234234, Mike@decisive.org, Decisive Data Inc.
    342348, Rita@datcom.com, Data com
    45686, Caleb@datcom.com, Datacom
    65896, Jane@agregado.com, "Agregado, SA de CV"
    189466, Derek@agregado.com, Agregado sa de cv
    45663, Mave@arrow.uk, Arrow
    56862, Kris@nypb.com, NY Personnel Bd
    98563, Steve@nypb.com, NY Personnel Board
];

Join
Table2:
LOAD * INLINE [
    CompanyID, CompanyName2
    C23001, "Decisive Data, Inc."
    C23002, Data com LLC
    C23003, "Agregado, S.A. de C.V."
    C23004, Arrow AB
    C23005, NY Personnel Board
];

tabOut:
LOAD *, Levenshtein(CompanyName, CompanyName2) As LevenDist
Resident Table1;

Drop Table Table1;&lt;/LI-CODE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="commQV37.PNG" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/32865i636B32175796B1E3/image-size/large?v=v2&amp;amp;px=999" role="button" title="commQV37.PNG" alt="commQV37.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 04 May 2020 01:54:09 GMT</pubDate>
    <dc:creator>Saravanan_Desingh</dc:creator>
    <dc:date>2020-05-04T01:54:09Z</dc:date>
    <item>
      <title>Fuzzy Matching Names and Join table in Load Statment</title>
      <link>https://community.qlik.com/t5/QlikView/Fuzzy-Matching-Names-and-Join-table-in-Load-Statment/m-p/1698063#M725421</link>
      <description>&lt;P&gt;&lt;SPAN&gt;We have to match two lists that only have Company names, and no common IDs or any other field to JOIN them on. To use fuzzy logic to match Company name fields to join the table in Load Statment. Please refer to the file and screenshot.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="fuzzy.JPG" style="width: 938px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/32727i00F5C959E40F6C36/image-size/large?v=v2&amp;amp;px=999" role="button" title="fuzzy.JPG" alt="fuzzy.JPG" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 25 Nov 2020 16:16:04 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Fuzzy-Matching-Names-and-Join-table-in-Load-Statment/m-p/1698063#M725421</guid>
      <dc:creator>karan_kn</dc:creator>
      <dc:date>2020-11-25T16:16:04Z</dc:date>
    </item>
    <item>
      <title>Re: Fuzzy Matching Names and Join table in Load Statment</title>
      <link>https://community.qlik.com/t5/QlikView/Fuzzy-Matching-Names-and-Join-table-in-Load-Statment/m-p/1698635#M725422</link>
      <description>&lt;P&gt;Please check the below link also. This is my solution similar to your problem. If you have any question on this, let me know.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.qlik.com/t5/New-to-QlikView/Join-table-without-prefix/m-p/1698575/highlight/false#M388690" target="_blank"&gt;https://community.qlik.com/t5/New-to-QlikView/Join-table-without-prefix/m-p/1698575/highlight/false#M388690&lt;/A&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Function levenshtein( a, b )
	Dim i,j,cost,d,min1,min2,min3
	
 ' Avoid calculations where there there are empty words
	If Len( a ) = 0 Then levenshtein = Len( b &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt; Exit Function
	If Len( b ) = 0 Then levenshtein = Len( a &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt; Exit Function
	
 ' Array initialization	
	ReDim d( Len( a ), Len( b ) )

	For i = 0 To Len( a &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt; d( i, 0 ) = i: Next
	For j = 0 To Len( b &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt; d( 0, j ) = j: Next
	
 ' Actual calculation
	For i = 1 To Len( a )
		For j = 1 To Len( b )
                        If Mid(a, i, 1) = Mid(b, j, 1) Then cost = 0 Else cost = 1 End If
			
			' Since min() function is not a part of VBScript, we'll "emulate" it below
			min1 = ( d( i - 1, j ) + 1 )
			min2 = ( d( i, j - 1 ) + 1 )
			min3 = ( d( i - 1, j - 1 ) + cost )
			
			If min1 &amp;lt;= min2 And min1 &amp;lt;= min3 Then
				d( i, j ) = min1
			ElseIf min2 &amp;lt;= min1 And min2 &amp;lt;= min3 Then
				d( i, j ) = min2
			Else
				d( i, j ) = min3
			End If
		Next
	Next

	levenshtein = d( Len( a ), Len( b ) )
End Function&lt;/LI-CODE&gt;&lt;LI-CODE lang="markup"&gt;Table1:
LOAD * INLINE [
    ContID, Contact, CompanyName
    32445, John@decisive.org, Decisive Data
    43634, Dave@decisive.org, Decisive Data Inc
    234234, Mike@decisive.org, Decisive Data Inc.
    342348, Rita@datcom.com, Data com
    45686, Caleb@datcom.com, Datacom
    65896, Jane@agregado.com, "Agregado, SA de CV"
    189466, Derek@agregado.com, Agregado sa de cv
    45663, Mave@arrow.uk, Arrow
    56862, Kris@nypb.com, NY Personnel Bd
    98563, Steve@nypb.com, NY Personnel Board
];

Join
Table2:
LOAD * INLINE [
    CompanyID, CompanyName2
    C23001, "Decisive Data, Inc."
    C23002, Data com LLC
    C23003, "Agregado, S.A. de C.V."
    C23004, Arrow AB
    C23005, NY Personnel Board
];

tabOut:
LOAD *, Levenshtein(CompanyName, CompanyName2) As LevenDist
Resident Table1;

Drop Table Table1;&lt;/LI-CODE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="commQV37.PNG" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/32865i636B32175796B1E3/image-size/large?v=v2&amp;amp;px=999" role="button" title="commQV37.PNG" alt="commQV37.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 04 May 2020 01:54:09 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Fuzzy-Matching-Names-and-Join-table-in-Load-Statment/m-p/1698635#M725422</guid>
      <dc:creator>Saravanan_Desingh</dc:creator>
      <dc:date>2020-05-04T01:54:09Z</dc:date>
    </item>
    <item>
      <title>Re: Fuzzy Matching Names and Join table in Load Statment</title>
      <link>https://community.qlik.com/t5/QlikView/Fuzzy-Matching-Names-and-Join-table-in-Load-Statment/m-p/1705214#M725423</link>
      <description>&lt;P&gt;The following Design Blog post may provide another alternative too:&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.qlik.com/t5/Qlik-Design-Blog/Mapping-and-not-the-geographical-kind/ba-p/1463192" target="_blank"&gt;https://community.qlik.com/t5/Qlik-Design-Blog/Mapping-and-not-the-geographical-kind/ba-p/1463192&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;BR /&gt;Brett&lt;/P&gt;</description>
      <pubDate>Tue, 26 May 2020 12:56:07 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Fuzzy-Matching-Names-and-Join-table-in-Load-Statment/m-p/1705214#M725423</guid>
      <dc:creator>Brett_Bleess</dc:creator>
      <dc:date>2020-05-26T12:56:07Z</dc:date>
    </item>
    <item>
      <title>Re: Fuzzy Matching Names and Join table in Load Statment</title>
      <link>https://community.qlik.com/t5/QlikView/Fuzzy-Matching-Names-and-Join-table-in-Load-Statment/m-p/2541042#M1226802</link>
      <description>&lt;P&gt;We had a similar problem, and also tried fuzzy search, but it did not work at all. However, today - 6 years later - it's trivially solvable by LLMs.&amp;nbsp;Are you willing or able to export/import the data? If so, you could use a cheap LLM with free tier to match the tables easily.&lt;/P&gt;
&lt;P&gt;We have been using the approach for many other cases, as there is still not yet a good universal solution, so we build our own and used this approach in our company for software matching (we do have a case study for this futuresearch. ai/software-supplier-matching/ ). If you found it useful you could try it on everyrow . io.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Jan 2026 20:02:20 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Fuzzy-Matching-Names-and-Join-table-in-Load-Statment/m-p/2541042#M1226802</guid>
      <dc:creator>farencekot</dc:creator>
      <dc:date>2026-01-16T20:02:20Z</dc:date>
    </item>
  </channel>
</rss>

