メイン コンテンツをスキップする 補完的コンテンツへスキップ

For..next

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

構文:  

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) が行をまたぐことはできません。

引数:  

引数
引数説明
counter変数名。counternext の後に指定されている場合は、対応する for の後に検出されるものと同じ変数名である必要があります。
expr1ループが実行される counter変数の最初の値を判定する数式。
expr2ループが実行される counter 変数の最後の値を判定する数式。
expr3ループが実行されるたびに counter 変数の増分を示す値を判定する数式。
conditionTrue または False の評価を実施する論理式。
statements1 つ以上の 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

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。