Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Creating a custom formula

I want to create a custom formula, and it is not working. I press CTRL M and enter my formula code below (which I got from another source, and it should be correct) then click OK.

After that when I go to my script and enter this new function, and  it does not understand it. it is underlined as incorrect. How do I make the script recognize it?  What am I missing?

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 😞 Exit Function
If Len( b ) = 0 Then levenshtein = Len( a 😞 Exit Function

' Array initialization   
ReDim d( Len( a ), Len( b ) )

For i = 0 To Len( a 😞 d( i, 0 ) = i: Next
For j = 0 To Len( b 😞 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 <= min2 And min1 <= min3 Then
  d( i, j ) = min1
  ElseIf min2 <= min1 And min2 <= min3 Then
  d( i, j ) = min2
  Else
  d( i, j ) = min3
  End If
  Next
Next

levenshtein = d( Len( a ), Len( b ) )
End Function

5 Replies
swuehl
MVP
MVP

Seems to work for me if I use something like

LOADlevenshtein('Stefan','Steffen') as Test

Autogenerate 1;

Anonymous
Not applicable
Author

It is still treating the script as an error:

Anonymous
Not applicable
Author

Perhaps the problem is that I am using Personal Edition and one of my settings needs to change

swuehl
MVP
MVP

Have you tried to run the script?

settu_periasamy
Master III
Master III

Hi,

Can you just click the 'Check' Button in the 'Edit Module' and try that?

Capture.JPG