调自脚本的 VBScript 函数
定义在 QlikView 文档宏模式的 VBScript 或 JScript 函数可自脚本调用。如果调用的函数未确定为标准脚本函数,则将进行检查,查看在此模式中是否驻留有自定义函数。这让您可以有很大的自由空间定义您自己的函数。当然,使用自定义宏函数将比执行标准函数稍慢。
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);
转换参数
以下规则将应用于转换加载脚本和 VBScript 之间的参数。
- 丢失的参数作为空值传递。
- 如果真实表达式评估到有效的数字,则将传递数字。另外,如果真实表达式评估到有效字符串,则将传递字符串,否则作为空值传递。
- 空值作为 VT_EMPTY 传递。
- 返回值以自然的方式处理。