SQL 데이터 탐색기로 파라미터 값 쿼리
소개
SQL 데이터 탐색기 툴을 사용하여 특정 파라미터의 값을 분석할 수 있습니다.
아래에는 파라미터 값을 분석하는 몇 가지 방법이 실제 예시와 쿼리에 대한 설명과 함께 소개되어 있어 개발자가 게임에 복사해서 사용할 때 더 쉽게 이해할 수 있습니다.
지침
- 아래의 모든 예시에서는 동일한 가상의 상황을 가정합니다. 바로 플레이어가 캐릭터를 선택할 수 있고, 던전을 시작하고 마칠 수 있으며, 던전에서는 포션을 사용하여 체력을 회복할 수 있는 RPG 게임입니다.
- 이 쿼리를 사용할 때는 강조 표시된 쿼리 항목을 이벤트 이름과 파라미터에 맞게 변경하시기 바랍니다.
쿼리
1. 특정 기간 동안 사용된 평균 포션 수(일별)
with potionsStats as (
select
EVENT_DATE,
EVENT_JSON:potionsUsed::Integer as potions
FROM EVENTS where EVENT_DATE > CURRENT_DATE-7 and EVENT_DATE < current_date and EVENT_NAME=’dungeonCompleted’
)
select EVENT_DATE as “Date”, round(avg(potions)) as “Average Potions Used”
from potionsStats
group by EVENT_DATE
order by EVENT_DATE
참고 사항
potionsStats
는 하위 쿼리입니다.potionsUsed
는 던전에서 몇 개의 포션이 사용되었는지 기록하기 위해dungeonCompleted
이벤트와 함께 전송되는 파라미터입니다.potions
는 EVENT_JSON:potionsUsed
::Integer에 부여하는 이름입니다.7
은 분석할 기간입니다. 이 경우에는 지난 7일을 의미합니다.라인 8에서는 다음을 호출합니다.
- X 축의 이벤트 날짜입니다.
- 깔끔하게 표시하기 위해 반올림한
potions
평균값입니다. round 부분을 없애면 소수점 아래까지 표시할 수 있습니다.
Average Potions Used
는 Y축의 반올림한 평균값 연산을 읽기 쉽게 정리한 이름입니다.
2. 특정 기간 동안 사용된 평균 포션 수(총 기간)
아래 예시를 사용하면 플레이어별로 사용된 평균 포션 수를 파악하여 특정 시점에서의 사용량을 확인할 수 있습니다.
with potionsStats as (
select
EVENT_NAME,
EVENT_JSON:potionsUsed::Integer as potions
FROM EVENTS where EVENT_DATE > CURRENT_DATE-7 and EVENT_DATE < current_date and EVENT_NAME='dungeonCompleted'
)
select EVENT_NAME as “Dungeon Completed”, round(avg(potions)) as “Average Potions Used”
from potionStats
group by 1
3. 던전 이름당 사용된 평균 포션 수
아래 예시를 사용하면 플레이어가 게임의 어느 위치에서 포션을 사용하는지 파악하고 던전 간의 밸런스를 맞출 수 있습니다.
with potionsAndDungeons as (
select
EVENT_JSON:dungeonName::string as dungeonName,
EVENT_JSON:potionsUsed::integer as potions
FROM EVENTS where EVENT_DATE > CURRENT_DATE-7 and
EVENT_NAME='dungeonCompleted'
)
select dungeonName as “Dungeon”, avg(potions) as "Average potions used"
from potionsAndDungeons
group by dungeonName
order by dungeonName
참고:
potionsUsed
와dungeonCompleted
는 앞의 두 쿼리와 동일하게 사용합니다.dungeonName
은dungeonCompleted
이벤트와 함께 전송되어 완료한 던전의 이름을 기록하는 파라미터입니다. Y축에서 사용됩니다.
4. 캐릭터 이름별로 던전에서 사용된 캐릭터 비율
아래 예시를 사용하면 게임에서 어떤 캐릭터가 가장 인기 있는지 확인할 수 있습니다.
select
EVENT_JSON:characterName::STRING as character,
((count(EVENT_JSON:characterName::STRING)) / ( select count(*) from events
where EVENT_NAME = 'dungeonCompleted' and EVENT_DATE > current_date-7
)) as percentage
from events
where EVENT_NAME = 'dungeonCompleted' and EVENT_DATE > current_date-7
group by character
order by percentage desc
참고:
characterName
을character
로 호출합니다. 이 파라미터는dungeonCompleted
이벤트와 함께 전송되어 선택한 캐릭터를 기록합니다. X축에서만 사용됩니다.- 라인 3과 4에서는 각 캐릭터 이름의 총 개수를 완료된 던전의 총 개수로 나누어서 Y축에 사용할 백분율을 구합니다.
5. 피벗 테이블로 던전 이름당 사용된 캐릭터 계산
아래 예시를 사용하면 던전 이름별로 캐릭터가 사용된 횟수를 확인할 수 있습니다. 이렇게 하면 캐릭터와 던전의 밸런스를 맞출 수 있습니다.
select
EVENT_JSON:characterName::INTEGER,
EVENT_JSON:dungeonName::STRING,
count(EVENT_JSON:dungeonName::STRING) as dungeonCount
from events
where EVENT_NAME = 'dungeonCompleted'
and EVENT_DATE > current_date-7
group by 1,2
참고:
비고
- SQL 데이터 탐색기는 아직 피벗 테이블 시각화 기능을 지원하지 않으므로 결과를 csv로 익스포트한 다음 스프레드시트에서 시각화 자료를 만들어야 합니다.
- 캐릭터 이름, 던전 파라미터, 던전 이름 수를 호출합니다.
- 이 쿼리를 처리한 후에는 다음 작업을 수행해야 합니다.
- ‘Share’ 버튼을 사용하여 결과를 csv로 익스포트합니다.
- csv 파일을 스프레드시트에서 엽니다.
- 데이터를 사용하여 피벗 테이블을 만듭니다.
- 피벗 테이블로 차트를 만듭니다.


