2012-10-29 34 views
0

我想讓JasperReports模仿SQL GROUP BY ALL的功能。我按MY_BOOL進行分組,可以通過0或1進行分組,我將顯示該值,並計算報告中的行數。但是,我想爲每個值顯示一行,即使其中一個值有0行。因此,舉例來說,如果我的查詢返回十行,並MY_BOOL=0全部十次,我想看看:JasperReports group by all - 顯示行,即使沒有返回

MY_BOOL | COUNT 
0   10 
1   0 

我怎樣才能做到這一點的JasperReports的?

回答

0

編輯: 這聽起來像你需要2個變量,沒有組。

$ V {MY_BOOL_0}計算$ F {MY_BOOL}爲0的所有行。$ V {MY_BOOL_1}計算$ F {MY_BOOL}爲1的所有行。每個變量的初始值爲0,無論是否有零行,$ F {MY_BOOL} = 0。

在標題(或摘要或任何地方)中顯示2個變量以提供2個「分組」小計。

注意:這兩個變量根本不使用組,但它們將與組兼容。例如,如果您按月進行分組,則可以計算每個月的MY_BOOL_0和MY_BOOL_1值。

+0

那麼如何在GROUP內進行這項工作,如果MY_BOOL = 0仍然有0個條目,我將如何獲得一行出現?或者我是否需要放棄集團來完成這項工作? – Marianna

+0

我想我明白你是如何看待它的。我會更新我的答案。 – mdahlman

+0

謝謝。我想知道是否有更簡單的方法來做到這一點。就目前而言,我有我的行按組(MY_BOOL)組織。組功能真的是我所需要的。按照你提出的方式進行操作,將會以一個簡單的例子很好地工作,但在我的真實應用程序中,我有22個領域正根據他們所在的小組進行總結等。爲了讓它在常規樂隊中工作,我認爲我需要根據MY_BOOL值進行奇怪的查詢以獲取數據。理想情況下,我希望保持原樣,並且只在MY_BOOL = 0或MY_BOOL = 1的計數爲0時添加額外的行。 – Marianna