2

Hoping someone can tell me what is wrong with this BIRT report. I am trying to use a nested scripted data set, where the outer data set passes data to the inner data set through a report variable.

I find that the report isn't acting as I thought it would. It seems as though the report variable is outputting the last value it has for every row. For the below report I am seeing output such as:

key0
  value[9][0]
  value[9][1]
  value[9][2]
  value[9][3]
  value[9][4]

key1
  value[9][0]
  value[9][1]
  value[9][2]
  value[9][3]
  value[9][4]

....

key9
  value[9][0]
  value[9][1]
  value[9][2]
  value[9][3]
  value[9][4]

Whereas I would expect to see this:

key0
  value[0][0]
  value[0][1]
  value[0][2]
  value[0][3]
  value[0][4]

key1
  value[1][0]
  value[1][1]
  value[1][2]
  value[1][3]
  value[1][4]

....

key9
  value[9][0]
  value[9][1]
  value[9][2]
  value[9][3]
  value[9][4]

My (fully self contained) example report is here: click to see report xml in pastebin.

The key idea is that in the outer data set's fetch, I set the report variable:

vars["values"] = value;

And the inner data set's fetch will grab it:

values = vars["values"].iterator();

and the inner data set's fetch will take data from the report variable:

row["value"] = values.next();
4

1 に答える 1

3

これを行うには、dataSet パラメーターを使用できる必要があります。この例では、外部データ セットのデータセット エディターで出力パラメーターを設定します。このパラメーターの値を、他のデータセットに渡す値に設定します。

内側の dataSet では、値を取得する入力パラメーターを作成します。レイアウトでは、出力パラメーターがバインディングになるように、外側のリストのバインディングを更新する必要があります。次に、内側のリストのバインディング タブに移動し、外側のリストの出力パラメーター バインディングを入力パラメーターに渡すことを選択します。

お役に立てれば。

于 2013-03-05T20:07:28.590 に答える