2011-11-09 3 views
0

재 스퍼 소식 새소식입니다. tutorialquick reference을 읽고 JR과 관련된 여러 기사를 읽었으며 지금은 iReport 보고서 디자이너로 하루 정도 놀았습니다.JasperReport & Filling Components

필자가 질식하는 개념의 마지막 주요 세트는 차트 구성 요소와 해당 데이터 간의 관계와 관련이 있다고 생각합니다. 이들 각각에 대한 정의를 쉽게 찾을 수 있지만, 의미있는 응용 프로그램에서 서로 어떻게 관련되는지 보여주는 실제 문서가 거의없는 것처럼 보입니다. 이 필드, 매개 변수 및 변수는 보고서 수준에서 존재할 수있는 것 같다

  • 보고서 필드
  • 보고서 Prameters
  • 보고서 변수의 iReport와 장난으로
  • 데이터 집합

등 데이터 집합 내부에 배치되는 것입니다. 그러나 무엇인가가 Field vs. Parameter vs. Variable 일 때의 나의 이해는 매우 희미하며, 데이터 집합과의 관계에 대한 나의 이해 또한 매우 불안정합니다.

데이터 세트를 약간의 세그로 사용하여 차트 구성 요소 (원형 차트, 테이블 등)가 "먹이"또는 "주입"되는 방식으로 "나무를 가로 지르는 숲"을 보는 데 어려움을 겪고 있습니다. 그들의 데이터.

수 ... 나는 대답한다면, 나를 위해 모든 것을 하나로 묶을 것이라고 생각했다. (나는 믿는다!). 두 개의 차트 구성 요소, 즉 텍스트 필드와 파이 차트가 있다고 가정 해 보겠습니다. 보고서는 "채워집니다 (나는 ... 제대로 그것을 사용하고 내가 생각 )

The author of this report is: <value supplied by the data source> 

<pie chart here> 

을 그래서,"시간을 채우기 "에서 : 나는 파이 차트과 같이 텍스트 필드 아래에 표시 할 "보고서의 작성자 이름 (문자열)과 2 개의 파이 조각으로 구성된 원형 차트 (라벨/키가"Eloi "이고 값이 두 번째 슬라이스가 25 인 슬라이스가 75 인 슬라이스) "Morlocks"라는 레이블/키가 있습니다. 올바른 JRR 용어를 사용하지 않는다면 차트의 75 %를 소비하는 "Eloi"슬라이스와 25 %를 소비하는 "Morlocks"슬라이스라는 두 가지 슬라이스가있는 채우기 시간 파이 차트를 얻으려고합니다. 도표.

이런 종류의 차트를 설정하는 방법에 대한 설명 (Java/JRXML) 코드 조각을 설명하거나 제공 할 수 있다면 모든 점을 연결하고 구성 요소가 데이터로 채워지는 방식을 이해하는 데 도움이 될 것입니다. 모든 도움을 미리 보내 주셔서 감사합니다!

답변

1

매개 변수를 최종 사용자가 런타임에 보고서에 제공하는 것으로 생각하십시오. 예를 들어, 쿼리에 사용할 StartDate 및 EndDate를 제공합니다. 관심있는 시작 날짜는 사용자가 알고있는 것으로 데이터 소스에서 제공하지 않습니다. (이 아이디어에는 여러 가지가 있습니다. 응용 프로그램이 로그인 정보를 기반으로 사용자에 대한 정보를 알고 매개 변수로 제공 할 수 있지만 보고서를 실행하기 전에 알려진 내용입니다.)

필드를 다음과 같이 생각하십시오. 데이터 소스에서 되돌아 오는 데이터 이것은 당신이 배우고 싶은 것들입니다.예를 들어,이 같은 쿼리 실행 : 아마도

select political_group, gullibility from mytable where the_date > $P{StartDate}

을 당신에게 STARTDATE의 입력 '802701'의 값을하고자 다음과 같은 결과를 얻을 : 변수의

$F{political_group} $F{gullibility} 
Eloi    75 
Morlock    25 

생각하는가 이 원시 데이터를 조작하는 방법. 합계 및 부분합은 물론 문자열 조작과 같은 줄 단위 계산 또는 누적 합계와 같은 더 복잡한 작업을 계산할 수 있습니다. http://mdahlman.wordpress.com/2009/05/02/limiting-pie-pieces/

그것은 당신이 원하는 주요 아이디어를 가지고

내가 몇 년 전에 게시 된이 원형 차트 보고서를 살펴 보자. 나는 별도의 필드가 아닌 차트에 직접 제목을 넣었습니다. 그것은 매우 간단한 변화 일 것입니다. 마찬가지로 제목을 "이 보고서 작성자 : $ P {TheAuthor}"로 변경 한 다음 런타임에 해당 매개 변수를 보고서에 전달할 수 있습니다.

매개 변수가 아닌 보고서 제목의 필드를 사용할 수도 있습니다. 그러나 일반적으로 그것은 이해가되지 않습니다. 필드에는 데이터 세트에 많은 값이 있습니다. 제목에 어느 것이 속해 있습니까? 위의 경우 "Eloi"와 "Morlock"은 필드이며 보고서 제목에는 실제로 의미가 없습니다. 물론 특별한 경우를 상상해 볼 수 있습니다. 모든 political_group 값을 단일 문자열로 연결하여 보고서 제목에 넣을 수는 있지만, 대다수의 경우 압도적 인 경우가 많습니다.

운.

+0

감사합니다. @mdahlman. 당신의 반응은 내가 혼란의 근원이라고 믿는 것을 밝혀 냈습니다. 데이터 소스 (예 : MySQL DB)의 데이터와 함께 제공되는 필드와 런타임시 보고서에 제공되는 Prameter의 차이점을 이해하지 못한다고 생각합니다. 나에게 그들은 모두 런타임 제공 데이터이다. 그 (것)들의 차이점은 무엇이며 언제 사용을위한 모범 사례/결정 요인이 무엇입니까? 도와 주셔서 다시 한 번 감사드립니다! – IAmYourFaja

+0

나는이 후속 질문에 답하는 데 도움이되는 세부 사항을 추가했다. 요컨대, 사용자는 Param 값을 제공하고 데이터 소스는 Field 값을 제공합니다. – mdahlman