본문 바로가기

Window Programming/VB

Crystal Report - 수식작업/그래프/차트삽입

 

위의 결과만으로는 완전한 보고서라고 할 수 없다. true와 false중 어느 것이 남자인지도 모르고 또한 상세정보로서 전체적인 평균과 개인별 평균이 추가되어 있지 않다. 이러한 기능을 추가시키려면, 수식을 이용해야 한다.

먼저, true를 '남자'로 false를 '여자'로 전환시키기 위해 수식을 작성하여 본다.
수식을 만들기위해 [보고서 디자인]의 메인메뉴인 [삽입-수식필드]를 선택하고 다음 과정을 따라한다.

  1. 수식삽입 대화상자가 나오면, 수식 이름란에 MorF를 입력하고 [확인]버튼을 누른다.

  1. 1단계에서 지정한 MorF수식에 대한 공식을 입력할 수 있도록 수식편집 대화상자가 나타난다.
    상단의 리스트상자에는 보고서에 사용할 수 있는 필드, 함수, 연산자 리스트를 제공하고 하단에는 수식테스트 상자를 제공하고 있어 이 곳에 공식을 입력하면 된다.

    [수식 텍스트]상자에 MorF에 대한 공식을 다음과 같이 입력한다.

if {student.sex} = true then
    "남자"
else
    "여자"

    작성한 공식에 아무런 에러가 없는지 [확인]버튼을 누른 후, [적용]버튼을 눌러 실제로 실행해 본다.
  1. [적용]버튼을 클릭함과 동시에 다시 보고서 디자인화면으로 되돌아온다. 이때 마우스포인터 오른쪽에는 네모상자가 나타난다. 마우스포인터를 이 네모상자의 성별구분 필드의 옆에 두고 클릭하면 남자, 여자단어가 생긴다.

    나머지 true, false로 표시된 곳은 제거하고, 대신 MorF수식으로 대치된 값들을 그 자리에 위치시킨다.
  1. 이번에는 개인뿐만 아니라 남녀별 전체평균을 구하는 공식을 작성해 본다. 첫번째 단계와 마찬가지로 수식입력 대화상자의 수식이름란에 전체평균이라고 입력하고 [확인]버튼을 누른다.
  2. 수식 편집 대화상자가 나오면 수식텍스트 상자에 다음과 같이 평균을 구하는 공식을 입력한다. 특정필드 입력시 [필드]리스트 상자에서 필드를 선택하고 마우스로 더블클릭하면 된다.

({eng_score.mid}+{eng_score.final})/2

  1. 역시 [확인]버튼을 눌러 에러가 없으면 [적용]버튼을 눌러, 보고서의 기말필드옆에 놓는다.

  1. 마지막으로 전체평균을 레포트 하단에 추가시켜 보기로 한다.

    먼저 중간고사에 대한 총 평균을 구하기위해 중간점수필드(eng_score.mid)값을 선택한다. 그 상태에서 마우스 오른쪽 버튼을 클릭하여 총계 삽입메뉴를 선택한다. 총계 삽입 대화상자의 콤보박스에서 평균을 선택한 후 [확인]버튼을 누르면, 보고서 제일 하단에 전체평균이 표시된다.
  1. 기말필드(eng_score.final)의 총 평균과 전체평균 필드에 대한 총 평균을 구하기위해 윗단계에서 취한 것과 같은 방법을 쓰면 된다.

  1. 마지막으로 보고서를 깔끔하고 보기좋게 만들기위해 삽입메뉴의 텍스트필드, 선, 상자메뉴등을 이용해 보고서를 완성시키면 된다.

그래프/차트 삽입

다음은 그래프/차트 삽입 작업을 해본다. 위에서도 설명했지만 그래프/차트 추가는 보고서를 보는 사람들로 하여금 이해도를 높일 수 있는 수단이 될 수 있다.

보고서 디자인에서 그래프/차트 삽입은 간단하다. 먼저 보고서 디자인의 [삽입-그래프/차트 전문가]메뉴를 선택하면 대화상자가 나타난다.

  1. 1단계 형식에서는 막대형을 선택한다.

  1. 2단계 데이터에서는 그룹별로 그래프에 나타내고자 하는 필드 선택과 나타낼 위치를 선택한다.

    우리의 경우엔 students.mid평균을 선택하고 [바닥글]옵션을 선택하면 된다.
  1. 3단계 텍스트에서는 그래프와 함께 나타낼 여러가지 글을 적는 곳이다. [제목]란엔 "중간고사"를 입력하고 [x축과 y축 제목]란에 각각 "성별(true-남, false-여)", "평균점수"라고 입력한다.

  1. 4단계 옵션에서는 그래프에 들어갈 옵션중 [모눈줄보기], [라이저 값 보기]만을 선택한다.

  1. 모든 설정작업을 끝내고 [그래프 완료]버튼을 누르게 되면, 보고서 하단에 그래프가 추가된다.

  1. 마지막으로 eng_score.final평균에 대한 또 하나의 그래프를 보고서 하단에 추가시킨다.

한가지 아쉬운 점이 있다면 이 것은 수식으로 작성된 성별전체 평균값을 그래프로 나타낼 수 없다는 것이다.