2014-06-13 29 views
0

我遇到的問題是:BIRT可以使用一個表格的輸出到另一個表格 - 不同的數據集?

我有一個表格,輸出來自一個數據集X,在輸出字段中我有一個COUNT聚合返回給我一個數字。

想要我想要做的是:在已經有另一個數據集Y的另一個表中使用此號碼, 我希望直接由我的聚合COUNT處理的最終號碼。 在這種情況下表格的關節沒有用,因爲它不會返回被處理的「數字」。 explanation

回答

5

一個聰明的方式做,這是創建一個報表變量來存儲數據集X.例如聚集,我們將其命名爲aggregationX:

enter image description here

一旦創建了變量,點擊在表聚合數據X - >腳本 - >的onCreate

輸入該腳本:

vars["aggregationX"]=this.getValue(); 

然後,您可以在聚合後放置的報表元素的所有表達式中使用vars [「aggregationX」] X:在數據集Y的計算列中,表格Y的數據綁定,過濾器,排序表達式,高亮表達式,動態文本等

+0

我寧願vars [「aggregationX」] = row [「Aggregation」]; (但請參閱關於命名列綁定的回答)。 – hvb

+0

非常好,這是有幫助的 – dsharew

2

第一條規則:總是給你的列綁定有意義的名字(不僅僅是:「聚合」,而是「numRows」或類似的東西)!

第二條規則:報告變量是全局變量,因此它們被認爲是不好的做法 - 只有在找不到其他解決方案時才使用它們。

在最常見的情況下,您可以將表(基於數據集)y放入表x的詳細行中。然後,您可以使用語法row._outer [「numRows」]訪問計數。 如果您還需要數據集y中的計數,則可以將其作爲數據集參數輕鬆傳遞(使用綁定選項卡中的「參數綁定」按鈕)。

您只需要Dominique給出的報表變量解決方案(由於任何原因),您的佈局不允許您將表y放入表x的詳細信息行中。

相關問題