跳到主要内容 跳到补充内容

For..next

for..next 控制语句是一个带有计数器的脚本迭代构造。指定的高低限值之间的计数器变量的每个值均会执行由 fornext 限定的循环中的语句。

语法:  

For counter = expr1 to expr2 [ step expr3 ]

[statements]

[exit for [ ( when | unless ) condition ]

[statements]

Next [counter]

 

表达式 expr1expr2expr3 仅会在首次进入循环时进行求值。计数器变量的值可通过循环内的语句进行更改,但这并非出色的编程做法。

如果在循环内遇到 exit for 子句,则脚本执行会转移至表示循环结束的 next 子句之后的第一个语句。exit for 子句可通过选择性使用 whenunless 后缀变为有条件子句。

信息注释由于 for..next 语句是控制语句,并以分号或换行符结束,三个可能子句(for..to..stepexit fornext)中任意一个子句都不得跨越行边界。

参数:  

参数
参数说明
counter一个变量名。如果 counternext 之后指定,变量名必须与对应的 for 之后查找的变量名相同。
expr1一个表达式,可决定与应执行循环有关的 counter 变量的第一个值。
expr2一个表达式,可决定与应执行循环有关的 counter 变量的最后一个值。
expr3一个表达式,可决定每执行一次循环 counter 变量增加的值。
condition用于评估 TrueFalse 的逻辑表达式。
statements一个或多个 Qlik Sense 脚本语句的任意组。

示例 1: 加载文件序列

// LOAD files file1.csv..file9.csv

for a=1 to 9

LOAD * from file$(a).csv;

next

示例 2: 加载随即文件数量

在本例中,我们假定有数据文件 x1.csv、x3.csv、x5.csv、x7.csvx9.csv。加载在使用 if rand( )<0.5 then 条件的随机点停止。

for counter=1 to 9 step 2

set filename=x$(counter).csv;

if rand( )<0.5 then

exit for unless counter=1

end if

LOAD a,b from $(filename);

next

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!