2016-04-06 6 views
0

フィールドの値を取得しようとしていますが、フィールドの名前を動的に作成する必要があります。Pentaho /ケトルJavascript:フィールドを動的に呼び出す

私は、昨年の一日に生まれた人たちに、曜日の名前の列を持つとします。したがって、DAY_1、DAY_2、DAY_3などの列があります。 "_ DAY" + Iだから、

するvar COLUMN_NAME =を:そして値は、私はすべてのこれらの値をループをしたい5、12、33 ... であり、そのために私はdinamycallyフィールド名を構築しました後で私はループを1つずつ増やすことができます。

JavaScriptのDAY_iが有効な入力フィールドであると認識しないため、フィールドの値を取得できないため、Pentahoは文字列として扱います。

答えて

1

javascriptのステップでは、配列変数rowがあります。あなたはgetInputRowMeta().indexOfValue("DAY_" + i)を使用して、列のインデックスのルックアップし、現在の行のフィールドの値を取得するには、そのインデックスを使用することができます。

var column_name = "DAY_" + i; 
var column_index = getInputRowMeta().indexOfValue(column_name); 
var column_value = row[column_index]; 

column_valueは、いくつかのJava型のオブジェクトへの参照になることに、注意してください(例:javaの.lang.String)、javascriptのStringメソッドはこの値では機能しません。値をjavascript型に変換するか、javaメソッドを使用する必要があります。

+0

ありがとうございました! –

関連する問題