有关QlikView循环的疑惑

WBOY
發布: 2016-06-07 15:54:23
原創
1106 人瀏覽過

问题描述: 查阅了QlikView的help后知道QlikView的循环语法如下面Code所示: LET vTest1 = 1;LET vTest2 = 30;DO WHILE (vTest1 $(vTest2))LET vTest1 = $(vTest1) + 1;LOOP 可是令人不解的是为何把DO WHILE (vTest1 $(vTest2))替换成下面的方式后就变成死循

问题描述:

查阅了QlikView的help后知道QlikView的循环语法如下面Code所示:

LET vTest1 = 1;
LET vTest2 = 30;

DO WHILE (vTest1 < $(vTest2))

	LET vTest1 = $(vTest1) + 1;
LOOP
登入後複製
可是令人不解的是为何把DO WHILE (vTest1 < $(vTest2))替换成下面的方式后就变成死循环了:

DO WHILE ($(vTest1) < $(vTest2))。

Google了很多次,只是说在while条件只会被编译一次,而循环中的所有值都会在每一次循环中都被解析。

原文是这样的:Each condition is interpreted only the first time it is encountered but is evaluated for every time it encountered in the loop.

因此上面的条件就变成这样 DO WHILE (1 < 30)一直成立。

解决方法:
1. 在while条件里面不使用dollar sign,像这样DO WHILE (vTest1 < $(vTest2));

2. 在loop(循环)语句中使用EXIT DO WHEN如下:

LET vTest1 = 1;
LET vTest2 = 30;

DO WHILE ($(vTest1) < $(vTest2))

	LET vTest1 = $(vTest1) + 1;

	EXIT DO WHEN ($(vTest1) >= $(vTest2));

LOOP
登入後複製
疑问:
为何QklikView只会对条件编译一次?
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!