VBscript-funktionsanrop från skript

VBScript eller JScript-funktioner som definieras i makro-modulen i ett QlikView-dokument kan anropas från skript. Om den anropade funktionen inte känns igen som en standardfunktion, kontrolleras förekomsten av användardefinierade funktioner i modulen. Friheten att definiera egna funktioner är således stor. Givetvis tar det något längre tid att använda egna makro-funktioner än att exekvera standardfunktioner.

Rem

rem ***THIS IS VBSCRIPT CODE FROM THE MODULE********* rem**************************************************

rem ********* Global variables ********************

dim flag

rem *******functions accessible from script *********

rem ************ wrap for input box ******************

function VBin(prompt)

VBin=inputbox(prompt)

end function

 

rem ************ clear global flag ******************

function VBclearFlag()

flag=0

end function

rem ********* test if reference has passed ***********

function VBrelPos(Ref, Current)

if Ref=Current then

VBRelPos="Reference"

flag=1

elseif flag=0 then

VBRelPos="Before "&Ref&" in table"

else

VBRelPos="After "&Ref&" in table"

end if

end function

// **************************************************

// *************THIS IS THE SCRIPT *****************

// *************************************************

 

let MaxPop=VBin('Max population in millions :');

// Ask limit

 

let RefCountry=VBin('Reference country :');

// Ask ref.

 

let dummy=VBclearFlag(); // Clears the global flag

 

Load

Country,recno(),

Capital,

"Area(km.sq)",

"Population(mio)",

VBrelPos('$(RefCountry)',Country)

as RelativePos

from country1.csv

(ansi, txt, delimiter is ',', embedded labels)

where "Population(mio)" <= $(MaxPop);

Överföring av parametrar

Följande regler gäller för överföring av parametrar mellan skript och VBScript:

  • Utelämnade parametrar överförs som NULL.
  • Om uttrycket resulterar i ett giltigt tal överförs detta tal; om uttrycket resulterar i en giltig sträng överförs denna sträng; om uttrycket varken resulterar i ett giltigt tal eller en giltig sträng, överförs NULL.
  • NULL överförs som VT_EMPTY.
  • Returnerade värden behandlas på brukligt sätt.

Hjälpte den här informationen?

Varför var informationen inte till hjälp och hur kan vi förbättra den?