2011-12-21 4 views
2

이것이 가능한지는 잘 모르겠지만 iReport Designer를 사용하여 보고서를 보는 사용자가 그룹을 제어 할 수있는 경우에는 알아 내려고합니다.사용자가 변경할 수있는 JasperReports 그룹화

예를 들어 사용자가 그룹화 순서를 변경할 수 있고 보고서가 그룹화 된 수준 (한 필드 또는 여러 필드 만)으로 변경할 수 있기를 바랍니다. 이 그룹을 만들기 위해 iReport로 사용할 수

| Account | Agent | Invoice | Total | 
+----------+---------+----------+-------+ 
| Account1 |   |   |  | 
|   | Joe |   |  | 
|   |   | Invoice2 | $600 | 
|   |   | Invoice1 | $300 | 
| Account2 |   |   |  | 
|   | Sam |   |  | 
|   |   | Invoice4 | $120 | 
|   |   | Invoice7 | $230 | 
|   | Joe |   |  | 
|   |   | Invoice3 | $200 | 
+----------+-- ------+----------+-------+ 

그리고 내가 무엇을 밖으로 내려고 해요을 : 나는 SQL이 BTW 그룹화 의미하지 않는다

, 나는 다음 에이전트 계정에 의해 그룹화 예를 들면 의미 동적? 즉, 사용자가 먼저 상담원별로 그룹화하고 iReport로이를 수행하는 방법이 있으면 각 그룹에 대해 하나의 보고서를 작성하는 것이 좋을 수 있습니다.

+0

[JasperReports API] (http://jasperreports.sourceforge.net/api/index.html) 또는 [DynamicJasper API] (http://dynamicjasper.com/docs/current/xref/)에서이 작업을 수행 할 수 있습니다. 필요합니다. 또는 예를 들어 여러 템플릿을 사용할 수 있습니다. –

+0

네, 저도 알고 있었지만 JasperReports Server로 가져올 수있는 보고서에 그러한 종류의 데이터를 임베드 할 수있는 방법이 있기를 바랬습니다. 나는 그것이 아닌 것으로 의심하기 시작했습니다. – mludd

+0

'groupExpression'에서 매개 변수를 사용할 수 있습니다. 샘플 :''. 나는 그러한 보고서를 뒷받침하는 것이 매우 어려울 것이라고 생각한다. –

답변

1

예, 그런 보고서를 만들 수 있어야합니다. 그러나 귀하의 정확한 요구에 따라 실용적이지 않을 수도 있습니다 (Alex K가 지적한대로).

예를 들어 계정에서 그룹화 한 다음 에이전트에서 에이전트 또는 그룹화 한 다음 계정을 사용하면 간단 할 것입니다. 사용자가이 선택 항목을 지정하게하는 매개 변수가 있어야합니다. 아마도 드롭 다운 목록 일 것입니다.

오늘의 버전 : $F{Account}$F{Agent}

동적 버전 : $P{AcctFirst} ? $F{Account} : $F{Agent}

$P{AcctFirst} ? $F{Agent} : $F{Account}은 마찬가지로, 그룹 정의가 새로운 AcctFirst의 PARAM을 포함 할 필요가 다음 보고서에이 같은 필드를 가질 것이다.

하지만 멋지게 확장되지는 않습니다. 2 개의 필드가 다른 데이터 유형이라면 어떻게 될까요? 사용자가 3 또는 4 또는 N 필드 중에서 선택하도록하려면 어떻게해야합니까? 이들 각각은 해결할 수 있지만 보고서는 기하 급수적으로 더 복잡해집니다.

그런데 그것은 비교적 일반적인 요청입니다. 이런 기능이 JasperReports에 표시됩니다. 하지만 지금은 힘든 상황입니다.

관련 문제