QlikWorld 2020 グローバル会議データを最大限活用する方法を探索するために参加 今すぐ行動するすぐに登録して保存

For..next

for..next 制御ステートメントは、カウンタ付きのスクリプト反復構文です。fornext で囲まれたループ内のステートメントは、カウンタ変数の初期値と最終値で指定された回数分実行されます。

Syntax:  

For counter = expr1 to expr2 [ step expr3 ]

[statements]

[exit for [ ( when | unless ) condition ]

[statements]

Next [counter]

 

数式 expr1expr2、および expr3 は、ループが最初に挿入される際に評価されます。カウンタ変数の値はループ内のステートメントで変更できますが、これは良いプログラミングとは言えません。

exit for 節がループ内で出現した場合、スクリプトの実行はループの終了を示す next 節の後の最初のステートメントに移ります。exit for 節は、whenunless サフィックスを使用して条件を付けることができます。

注: for..next ステートメントは制御ステートメントであり、セミコロンまたは改行コードで終わっているため、使用可能な 3 つの節 (for..to..stepexit fornext) が行をまたぐことはできません。

Arguments:  

引数 説明
counter 変数名。counternext の後に指定されている場合は、対応する for の後に検出されるものと同じ変数名である必要があります。
expr1 ループが実行される counter変数の最初の値を判定する数式。
expr2 ループが実行される counter 変数の最後の値を判定する数式。
expr3 ループが実行されるたびに counter 変数の増分を示す値を判定する数式。
condition True または False の評価を実施する論理式。
statements 1 つ以上の Qlik Sense スクリプト ステートメントのグループ。

Example 1: 連続ファイルのロード

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

for a=1 to 9

LOAD * from file$(a).csv;

next

Example 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