タスク 3: カウンターの条件付きインクリメント 名前にストリング Mini が含まれる顧客の数をカウントするには、それぞれの顧客の名前を調べて、それが出現するごとにカウンターに 1 を加算します。データ・ソースからデータ行を取得するごとに実行される Row.onCreate メソッドでこのタスクを実行するのが合理的です。 1 「レイアウト」で、行を選択します。 次に、「スクリプト」を選択します。 2 スクリプト・ウィンドウ上部にある使用可能なスクリプトのリストから、図 22-8 に示すように onCreate を選択します。 図 22-8 スクリプト・ウィンドウでの onCreate( ) 3 「スクリプト」ウィンドウに以下の JavaScript コード行を入力します。 myrow=this.getRowData( ); この後にピリオドを入力すると、getRowData を含む、使用可能なすべてのメソッドとプロパティーが入ったポップアップが表示されます。このコード行では、メソッド getExpressionValue( ) を持つ IRowData のインスタンスを取得し、その行の列の内容を取得します。 4 ステップ 3 で入力した行の下に、以下の JavaScript 行を入力します。 CustName=myrow.getExpressionValue( "row[CUSTOMERNAME]" ); このコード行では、データ・セット内の CUSTOMERNAME 列からのテーブル列の内容が戻されます。 5 以下のコード行を入力して、タスク 2 で作成したカウンターを条件に応じてインクリメントします。 if( CustName.indexOf( "Mini" ) != -1 ) countOfMinis += 1; JavaScript パレットを使用し、上記の行に以下の各要素を挿入できます。 indexOf( ) 「ネイティブ JavaScript 関数」→「String 関数」→「indexOf( )」を選択します。 != 「演算子」→「比較」→「!=」を選択します。 += 「演算子」→「代入」→「+=」を選択します。 6 「プレビュー」を選択してレポートを再実行し、入力したコードでエラーが発生しないことを検証します。
名前にストリング Mini が含まれる顧客の数をカウントするには、それぞれの顧客の名前を調べて、それが出現するごとにカウンターに 1 を加算します。データ・ソースからデータ行を取得するごとに実行される Row.onCreate メソッドでこのタスクを実行するのが合理的です。