2011-11-30 2 views
1

직원 작업 로그와 유사한 보고서가 작성되었습니다. 완료된 모든 작업의 ​​항목 별 목록을 포함하는 각 직원에 대해 그룹이 만들어집니다. 각 직원이 끝날 때 총 근무 시간과 총 금액이 그룹 바닥 글 밴드에 표시됩니다. 전체 보고서의 끝에서 모든 직원의 총 시간과 수입이 표시됩니다.JasperReports iReport 요약 밴드

본인도 동일한 정보를 요약 한 별도의 보고서가 있지만 세부 정보는 제공되지 않습니다. 테이블의 각 행에서 직원, 근무 시간 및 총 수입을 나열하는 보고서입니다. 이것은 본질적으로 다른 보고서의 그룹 바닥 글에 표시되는 것과 동일한 정보입니다.

동일한 SQL 명령이 두 보고서에 사용됩니다. 먼저 항목 별 작업 로그를 생성 한 다음 단일 요약 보고서를 작성한 다음 세부 요약을 작성합니다. 그러나 나는 이것을 할 수있는 방법을 볼 수 없다.

실제로 두 보고서를 모두 하위 보고서로 전환하고 두 보고서를 모두 보유하는 마스터 보고서를 만들 수도 있습니다. 이것이 최선의 접근 방법입니까? 아니면 더 나은 해결책이 있습니까?

+1

마스터 및 하위 보고서의 분할 보고서는 좋은 아이디어라고 생각합니다. 그러나 보고서의 실적을 고려해야합니다. 데이터 소스가 작 으면 중요하지 않습니다. 또 다른 방법은 상태로 세부 밴드를 숨기는 것이지만 보고서의 성능에는 좋지 않을 수 있습니다. –

답변

1

두 보고서를 같은 보고서에 넣을 수 있습니다.

SQL 쿼리를 두 번 실행해야합니다. † 요약 보고서를 하위 보고서로 사용하여 자세한 보고서의 요약 밴드에 넣는 것이 가장 간단한 방법입니다. 동일한 SQL 연결을 사용하면 하위 보고서가 자체 쿼리를 실행합니다.이 쿼리는 주 보고서의 쿼리와 동일하게 발생합니다.

대체 솔루션은 두 개의 하위 보고서를 보유하고 거의 비어

  • 한 주 보고서를. 이것은 복잡한 보고서를위한 좋은 해결책이 될 수 있습니다. 그러나 귀하의 요구 사항을 고려할 때 어떤 이점도없이 조금 더 많은 작업을 생성합니다.

  • 하위 보고서가 아닌 요약 밴드에서 표 구성 요소 (또는 목록 구성 요소)를 사용합니다. 나는 일반적으로 이것을 선호한다. 아직 두 개의 보고서를 만들지 않았다면 아마도 이것을 권할 것입니다. 그러나 보고서를 표 구성 요소로 다시 작성하는 것은 실제 이익이없는 추가 작업입니다.

† 근본적인 요구 사항은 아닙니다. SQL 쿼리가 오래 실행되고 더 조정할 수 없다고 결정한 경우 결과 집합을 한 번에 모두 처리하는 것이 가능할 것입니다. 단일 반복에서 필요한 모든 정보를 캡처 한 다음 요약에 표시하려면 추가 기능이 필요합니다. 다른 변형보다 훨씬 더 많은 작업이 될 것입니다.

+0

모든 제안에 감사드립니다! – Tauren

+1

임시 해결책으로 하위 보고서를 요약본에 넣을 생각을 좋아합니다. 그러나 장기적으로 볼 때 장거리 실행 이후 SQL을 한 번만 실행하는 것이 이상적입니다. 나는 그것에 관해 어떻게 가야하는지에 관해 명확하지 않다. 모든 정보를 포착하기 위해 어떤 유형의 "여분의 영리함"이 사용될 것입니까? – Tauren

관련 문제