VBScript-functies aanroepen vanuit het script
VBScript- of JScript-functies die in de macromodule van een QlikView-document zijn gedefinieerd, kunnen vanuit het script worden aangeroepen. Als een functieaanroep niet als standaard scriptfunctie wordt herkend, wordt gecontroleerd of het een zelfgemaakte functie betreft. U hebt dus alle vrijheid om uw eigen functies te maken. Bij zelfgemaakte macrofuncties duurt de uitvoering echter iets langer dan bij standaardfuncties.
rem *************************************************
rem ***THIS IS VBSCRIPT CODE FROM THE MODULE********* rem**************************************************
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);
Doorgifte van parameters
De volgende regels zijn van toepassing op de doorgifte van parameters tussen het load-script en het VBScript:
- Voor ontbrekende parameters wordt NULL (leeg) doorgegeven.
- Als de uitdrukking een geldig getal oplevert, wordt het getal doorgegeven. Anders, als de uitdrukking een geldige tekenreeks oplevert, wordt de tekenreeks doorgegeven, anders wordt de NULL (leeg) doorgegeven.
- NULL (leeg) wordt doorgegeven als VT_EMPTY.
- Geretourneerde waarden worden op de gebruikelijke wijze verwerkt.