대시보드 필터라는 필터 콘트롤에 대해서 알아보고, 필터로 선택한 내용을 변수로 처리하는 간단한 방법
지난 포스팅에서는 전체 캔버스에 대한 필터에 대해서 알아 보았습니다.
Oracle Analytics Cloud(OAC) - 활용팁 - TopN + 전체 합 표현하기
이번 시간에는 대시보드 필터라는 필터 콘트롤에 대해서 알아보고 부가적으로 필터로 선택한 내용을 변수로 처리하는 간단한 방법을 알아보도록 하겠습니다.
• 대시보드 필터 -
대시보드 필터는 사용자가 실행 시에 워크북 캔버스의 모든 시각화에 대한 필터 값을 지정할 수 있게 합니다.
대시보드 필터를 대시보드의 어떤 캔버스에도 추가할 수 있어서 사용자가 자신만의 값을 선택하고 해당 캔버스의 특정 데이터를 볼 수 있게 합니다. 또한 특정 시각화 차트에만 선별적으로 적용이 가능합니다.
그리도 모든 필터에서는 선택된 값을 쉽게 변수 처리 할 수 있습니다.
이전 포스팅과 같이 오라클의 SH 스키마 데이터로 예를 들어 보겠습니다.
아래와 같이 간단하게 제품 카타고리별, 판매 채널별, 판매 금액을 피봇 형태로 표기가 가능합니다.
Properties -> Totals 에서 Grand Total 을 추가하고 Total Columns Position 을 Before 로 맞추면 아래와 같이 전체 열 합계가 표기 됩니다.
숫자를 단위를 넣어서 더 간결하게 표현 해 보겠습니다.
Properties -> Value -> Number Format 를 Number 로 변경하면 단위를 선택 할 수 있습니다. Abbreviate --> On 하면 아래와 같이 자동으로 변동 됩니다.
이번에는 Amount sold 컬럼을 하나더 Grammer Pannel 에 Value 에 추가 합니다. (% 를 추가적으로 표기하는 작업을 할 예정입니다. )
Properties -> edge labels 에서 테이블에 표기된 컬럼에 Display header 를 Custom 으로 선택하고, 아래 내용을 "%" 로 변경합니다.
이제 값을 % 로 변경하기 위해서,
Properties -> Values 에 아래에 Amount sold 에 Display As 를 Percent Of 로 변경합니다.
Percent Of 옵션이 추가되면, 다시 All Value --> Row Values 를 선택하면 아래와 같이 각 카테코리의 채널별 판매 비중을 확인 할 수 있습니다.
여기까지 1차 완성된 차트 입니다. 여기에 Canvas 전체에 채널별 필터를 아래와 같이 걸어보도록 하겠습니다.
Data Panel-> Data -> SH -> CHANNELS --> CHANNEL_DESC를 끌어서 캔버스에 필터에 놓습니다.
이후 내가 원하는 채널하나만 선택(ex. Direct Sales)하면, 아래와 같이 표기됩니다.
AMOUNT_SOLD 는 Direct Sales 채널에 해당하는 값이 정확하게 표기 되지만,
Grand Total 및 % 는 전체 값을 가져오지 않고, 필터된 ( Direct Sales) 데이터만 가지고 오게 됩니다.
만약 Direct Sales 에 대한 값과 전체에 대한 비중을 함께 보고 싶다면 위와 같이 데이터에 필터를 걸지 않고, 내 계산에서 Using Filter 와 Parameter 기능을 활용 하여 표현 가능합니다.
바로 여기에서 대시보드 필터 유형을 이용하면, 간단하게 Parameter 를 구현가능하며, 선택적으로 값 적용이 가능합니다.
기존에 설정했던 캔버스 전체 필터는 지워버리고 필터가 없는 상태로 되돌립니다.
이 상태에서 다시 아래와 같이
Data Panel-> Data -> SH -> CHANNELS --> CHANNEL_DESC 우측 마우스 클릭을하고, Pick Visualization 을 선택 후, 차트에서 대시보드 필터 차트를 선택 합니다.
하나의 차트 영역으로 대시보드 필터가 생성되며, 아래와 같이 차트를 적절하게 배치 합니다.
마찬가지로 Direct Sales 를 대시보드 필터에서 선택하면, 아래 피봇차트에 자동으로 적용됩니다.
저희는 대시보드 필터를 필터기능으로 사용하지 않고, 변수를 선택하는 기능만을 사용할 예정으로
아래와 같이 대시보드 필터 적용을 해제 합니다.
Properties -> Filters 에서 Apply This Filter To 에 아래에 보이는 체크 박스를 해제 합니다.
이 후에는 내가 어떤 값을 선택해도 아래 차트는 영향을 받지 않습니다.
자 이제는 대시보드 선택한 값을 파라메터와 연동 해 보겠습니다.
캔버스에 대시보드 필터에서 값을 선택하는 아래 화살표를 클릭하면, 우측 Selections 옆에 (X) 표시가 있습니다.
여기를 클릭하고, Creaste Parameter 를 선택합니다.
자동으로
Data Panel-> Parameters 에 변수가 추가된것을 확인 할 수있습니다. (이 후 edit 가능합니다)
이제 대시보드 필터에서 값을 선택하면, 자동으로 CHANNEL_DESC 에 변수로 저장됩니다.
이제 저 변수를 사용하여, Share(%) 라는 내 계산을 만들어서 전체 세일즈 금액 분에, 해당 채널에 금액을 계산할 예정입니다.
내 계산에서
분자는 변수로 선택한 채널에 해당하는 값만 가져올 수 있도록 Filter 함수를 사용합니다.
분모는 전체의 합을 가져올 예정이며, 유연하게 합을 가져오는 Agrregate 함수를 사용합니다.
또한 기존에 피봇테이블에 채널별 을 --> 변수 선택한 채널별로 나타내기 위해,
아래와 같은 내 계산을 추가 합니다. (VAR_CAHNNER_DESC, 변수는 캔버스에서 바로 컬럼으로 사용하지 못하고 예제 처럼 내 계산으로 가져와서 사용해야합니다. )
자 이제 준비가 다 되었습니다.
아래와 깉이 Grammer 패널에 Columns 에 기존에 CHANNEL DESC --> VAR_CHANNEL_DESC 로 변경하고,
Values 에는 Share 를 추가 합니다.
기존에 % 는 100 로 나오지만, 새로 만든 내 계산에서는 전체 대비 퍼센트가 원하는 형태로 표기 되는 것을 확인 할 수 있습니다.
보기 좋게 % 형태로 표기 해보면,
아래와 같이
Properties -> Values 에 Share 에 Number Format 을 Percent 로 변경 합니다.
정리해 보면,
캔버스에 필터를 걸면 데이터 자체에 필터가 걸려서 모든 데이터가 빠지게 됩니다.
전체 데이터에 대한 비율 값을 유지한체 차트에 표현하기 위해서는 보여드린 예시처럼
여러가지 변수와 함수를 사용하여, 처리 할 수 있습니다.
다만 변수에 여러값을 넣는 것을 지원하지 않기 때문에, 마지막으로 대시보드 필터에 다중값을 허용하지 않게
아래와 같이 변경합니다. (다중 선택으로 파라메터화 해서 여러가지를 중복으로 표현하는 방법은 현재 없습니다)
Properties -> Filter controls 에 CHANNEL_DESC 에 Multi Select 를 Off 로 해야합니다.
간단하게 대시보드 필터 및 파라메터에 활용에 대해서 알아 보았습니다.
추가적으로 여기에서나온 파라메터, 대시보드 필터, 함수 들을 응용하여, 다양하게 사용 해 보시기 바랍니다.
감사합니다.
작성자: 장재석(coolguy81@gmail.com) / Cloud Architect
개인 시간을 투자하여 작성된 글로서, 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다.
'4. 데이터분석' 카테고리의 다른 글
Oracle Analytics Cloud (OAC) :사용자 및 관리자 계정 생성 및 권한 관리 - BASIC (0) | 2024.03.11 |
---|---|
Oracle Analytics Cloud(OAC) :활용팁 - Use as Filter (0) | 2024.03.05 |
Oracle Analytics Cloud(OAC) :활용팁 - RANK 함수, Conditional formatting (0) | 2024.03.04 |
Oracle Analytics Cloud(OAC) :활용팁 - TopN + 전체 합 표현하기 (0) | 2024.02.15 |
Oracle Modern Data Platform 를 활용한 데이터 분석 (0) | 2024.02.07 |
댓글