본문 바로가기

Database/Oracle Database

Oracle Application Express 개요 & 샘플 - 4.1. APEX 사용 샘플 #2 - 로컬 테이블을 이용한 Chart 생성

이제 새로운 페이지를 추가해서 Chart를 만들어 가장 최근의 인구 1,000명당 의사 수, 국가별 인구 1,000명 당 의료 인력 현황을 시각화해 보겠습니다.

 

단일 계열 Bar Chart 생성

먼저 Chart를 담을 페이지를 생성합니다. 어플리케이션 홈페이지로 이동해서 Create Page를 클릭합니다.

 

Create a Page 대화창에서 Chart를 선택합니다.

 

Chart Type으로 Bar를 선택합니다.

 

페이지 이름을 입력합니다. 여기에서는 “Physicians Chart”라고 입력했습니다. 그리고 Breadcrumb 선택란에서 Breadcrumb을 선택합니다.

Breadcrumb(이동경로)은 계층적 관점에서 사용자가 애플리케이션 내에서 어디에 있는지 나타내는 링크의 계층적 목록입니다. 사용자에게 탐색 컨텍스트를 제공하고 홈으로 쉽게 이동할 수 있는 방법을 제공하는 데 유용합니다.

 

Navigation Preference에서 Create a new navigation menu entry를 선택하고 Next를 클릭합니다.

Navigation Menu(탐색 메뉴)는 아래 화면 왼쪽 부분과 같은 계층적 목록 항목이 있는 목록입니다. 어플리케이션을 만들 때 어플리케이션 Wizard는 자동으로 탐색 메뉴를 만들고 사용자가 만든 어플리케이션 페이지에 연결되는 목록 항목으로 채웁니다.

 

Source Type에서 SQL Query를 선택하고, SQL Query 입력란에 아래 쿼리를 붙여넣고 Next를 클릭합니다. 아래 쿼리는 연도별 인구 1,000명당 의사 수 중에서 가장 최근의 데이터를 가져와서 의사 수를 기준으로 정렬하고 있습니다.

select region_name, max(value) keep (dense_rank last order by year) Physicians
from pdbadmin.health_personnel
where series = 'Health personnel: Physicians (per 1000 population)'
group by region_name
order by Physicians

 

Label Column에 REGION_NAME, Value Column에 PHYSICIANS를 선택하고 Create을 클릭합니다.

 

페이지가 생성되었습니다. Chart가 생성된 결과를 확인하기 위해 오른편 상단의 녹색 Save and Run Page 버튼을 클릭하여 방금 적용한 내용이 반영되었는지 확인합니다.

 

Bar Chart가 그려진 것을 확인할 수 있습니다.

 

Chart의 가독성을 높이기 위해 몇가지 수정을 하겠습니다. Chart 데이터의 범례를 나타내기 위해 Page Designer의 Redering Tree에서 Physicians Chart를 선택한 다음, 왼쪽 Propery Editor의 Attributes 탭 아래Legend 섹션의 Show를 Yes로 변경합니다. Save and Run Page 버튼을 클릭하여 방금 적용한 내용이 반영되었는지 확인합니다.

 

Chat 왼편에 Series 1 이라는 범례명이 생긴 것을 알 수 있습니다.

 

보다 높은 가독성을 위해 이번에는 범례 이름을 “Physicians per 1000 pop.”로 변경하고, 데이터의 레이블은 보이지 않게 하고, 데이터 숫자 표기를 소숫점 첫째 단위까지 보이도록 해 보겠습니다.

Rendering Tree에서 Series 아래 Series 1을 클릭한 다음, 왼쪽 Property Editor에서 관련 내용을 수정합니다. Identification 섹션에서 Name에 “Physicians per 1000 pop.”라고 입력하고, 아래쪽 Label 섹션에서 Show를 No로 변경합니다.

 

그리고 Rendering Tree에서 Axes 아래 y를 클릭한 다음, 왼쪽 Property Editor에서 Value 섹션의 Decimal Places의 값을 0에서 1로 변경합니다. Save and Run Page 버튼을 클릭하여 방금 적용한 내용이 반영되었는지 확인합니다.

이번에는 Chart 상단의 있는 Region 이름인 “Physicians Chart”를 삭제해 보겠습니다. Chart가 있는 런타임 환경의 하단에서 Quick Edit을 클릭합니다.

 

오른쪽 상단의 렌치 아이콘을 클릭합니다.

 

렌치를 클릭해서 나타난 Live Template Options 대화창에서 Header의 값을 Visible - Default에서 Hidden but accessible로 변경하고, Save를 클릭합니다. Chart가 완성되었습니다.

 

<END>

 

다음 글:

2022.04.18 - [Database/Oracle Database] - Oracle Application Express 개요 & 샘플 - 4.2. APEX 사용 샘플 #2 - Dynamic Action을 이용한 복수 계열 Line Chart 생성