2013-03-04 1 views
1

В ожидании, что кто-то скажет мне, что не так в этом отчете BIRT. Я пытаюсь использовать вложенный набор данных для сценариев, где внешний набор данных передает данные во внутренние данные, установленные через переменную отчета.BIRT - использование переменной отчета для передачи данных из внешнего в внутренний набор вложенных данных

Я считаю, что отчет не действует, как я и думал. Кажется, что переменная report выводит последнее значение, которое оно имеет для каждой строки. В приведенном ниже отчете я вижу выход, такие как:

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] 

В то время как я ожидал бы увидеть это:

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] 

Моего (полностью самодостаточный) Пример отчет здесь: click to see report xml in pastebin.

Ключевая идея заключается в том, что во внешнем наборе Дейтов выборкой, я установил переменный отчет:

vars["values"] = value; 

И внутренний набор Дейты выборку будет захватить его:

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

и внутренний набор данных выборка будет принимать данные из переменной отчета:

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

ответ

2

Вы должны иметь возможность использовать параметры набора данных для этого. В вашем примере вы должны установить выходной параметр в редакторе набора данных внешнего набора данных. Вы должны установить значение этого параметра в качестве ваших значений, которые вы передаете другому набору данных.

Во внутреннем наборе данных вы должны создать входной параметр для принятия значений. В вашем макете вам нужно обновить привязки во внешнем списке, чтобы выходной параметр был привязкой. Затем перейдите на вкладку привязки для внутреннего списка и выберите передачу внешнего параметра внешнего списка для вашего входного параметра.

Надеюсь, это поможет.

+0

Спасибо большое Майкл - я написал это здесь: http://robertmarkbramprogrammer.blogspot.com.au/2013/03/nested-data-sets-with-input-parameters.html –