2009-12-09 2 views
0

사용자 테이블은 다음 속성 (dateOfBirth, race, gender, ...)을 포함합니다. 다음과 같은 형식으로 보고서를 생성하고자합니다.다양한 속성 별 사용자 보고서 생성

 
Year Race  All Male Female 
2000 Asian 2000 1000 1000 
2000 Hispanic 1000 500 500 
2001 Asian 1500 700 800 
2001 Hispanic 1300 400 900 
...

Total 5800 2600 3200

이상적으로는 위의 매개 변수 (2000 년 예를 들어, 모든 아시아 인 남성 사용자/B 년 2천-2천5와트 모든 아시아 사용자, 2001 년 모든 히스패닉 커뮤니티)에 의해 필터링 된 다른 보고서를 확인하고 싶습니다. 이 데이터를 가져 오는 데 가장 좋은 방법은 무엇일까?이 데이터를 구성하기 위해 데이터베이스에 너무 많은 히트가 발생하지 않도록하고 싶습니다. 어떤 프레임 워크는 당신은 재스퍼 리포트를 살펴 가질 수

+0

데이터 생성과 관련된 몇 가지 세부 정보를 알고 싶습니다. 이 데이터를 구성하는 데 필요한 데이터베이스 쿼리 수. 최소 위의 각 행에 2 개의 쿼리가 필요합니다. [a] 1 년에 모든 남성의 목록을 가져옵니다. (가변 매개 변수는 연도, 레이스 임) 그래서이 목록이 큰 경우 가장 좋을 것입니다. 방법으로이 데이터를 최적화 된 방식으로 검색합니다. 위의 예제는 최소한의 데이터 집합만을 포함하고 있으며 행에 이러한 매개 변수를 많이 추가하여 행마다 실행해야하는 쿼리를 늘리고 싶습니다. 이보기를 가져 오는 더 좋은 해결책이 있습니까? – Joe

답변

1

사용하려는 데이터베이스 백 엔드에 대한 세부 정보는 제공하지 않았지만 일반적으로이 정보를 생성하는 가장 효율적인 방법은 데이터 집계를 필터링하고 데이터베이스 측면에서 올바른 SQL과 필터링을 수행하는 것입니다. 결과 세트 만 보고서 생성기로 전달하십시오. 첫 번째 예는 테이블의 모든 데이터를 집계 한 것으로 보이지만 데이터베이스 엔진은 모든 행을 정렬하고 처리해야하지만 클라이언트가 아닌 모든 행을 처리하는 것이 좋습니다. 데이터의 하위 집합과 관련된 쿼리의 경우 쿼리에 대해 올바르게 인덱싱되었는지 확인하십시오.

2

이 데이터를 나타내는/페치에 이상적 일 것이다 :

http://www.docstoc.com/docs/2139263/Jasper-Report-Tutorial

또는

http://www.javaworld.com/javaworld/jw-09-2002/jw-0920-opensourceprofile.html

그것은 보고서를 생성 할 수있는 스마트 워크의 .

+0

응답을 보내 주셔서 감사합니다. 보고서 생성과 관련하여 재스퍼 보고서를 사용할 수있는 옵션이 좋습니다. 변수 매개 변수의 개수가 많은 경우 각 행에 데이터를 생성하는 데 최적화 된 메커니즘에 관한 정보를 추가했습니다. – Joe