# SQL 데이터 탐색기로 파라미터 값 쿼리

> Learn how to query custom event parameters in SQL Data Explorer with practical examples.

## 소개##queries

SQL 데이터 탐색기 툴을 사용하여 특정 파라미터의 값을 분석할 수 있습니다.

아래에는 파라미터 값을 분석하는 몇 가지 방법이 실제 예시와 쿼리에 대한 설명과 함께 소개되어 있어 개발자가 게임에 복사해서 사용할 때 더 쉽게 이해할 수 있습니다.

## 지침

* 아래의 모든 예시에서는 동일한 가상의 상황을 가정합니다. 바로 플레이어가 캐릭터를 선택할 수 있고, 던전을 시작하고 마칠 수 있으며, 던전에서는 포션을 사용하여 체력을 회복할 수 있는 RPG 게임입니다.
* 이 쿼리를 사용할 때는 강조 표시된 쿼리 항목을 이벤트 이름과 파라미터에 맞게 변경하시기 바랍니다.

## 쿼리

### 1. 특정 기간 동안 사용된 평균 포션 수(일별)##1-average-potions-used-over-a-specific-time-range-day-by-day

```undefined
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. 특정 기간 동안 사용된 평균 포션 수(총 기간)##2-average-potions-used-over-a-specific-time-range-total-time-range

아래 예시를 사용하면 플레이어별로 사용된 평균 포션 수를 파악하여 특정 시점에서의 사용량을 확인할 수 있습니다.

```undefined
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. 던전 이름당 사용된 평균 포션 수##3-average-potion-used-per-dungeon-name

아래 예시를 사용하면 플레이어가 게임의 어느 위치에서 포션을 사용하는지 파악하고 던전 간의 밸런스를 맞출 수 있습니다.

```undefined
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. 캐릭터 이름별로 던전에서 사용된 캐릭터 비율##4-percentage-of-character-use-in-dungeons-per-character-name

아래 예시를 사용하면 게임에서 어떤 캐릭터가 가장 인기 있는지 확인할 수 있습니다.

```undefined
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. 피벗 테이블로 던전 이름당 사용된 캐릭터 계산##5-pivot-table-to-count-the-character-used-per-dungeon-name

아래 예시를 사용하면 던전 이름별로 캐릭터가 사용된 횟수를 확인할 수 있습니다. 이렇게 하면 캐릭터와 던전의 밸런스를 맞출 수 있습니다.

```undefined
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로 익스포트한 다음 스프레드시트에서 시각화 자료를 만들어야 합니다.
* 캐릭터 이름, 던전 파라미터, 던전 이름 수를 호출합니다.
* 이 쿼리를 처리한 후에는 다음 작업을 수행해야 합니다.

1. ‘Share’ 버튼을 사용하여 결과를 csv로 익스포트합니다.
2. csv 파일을 스프레드시트에서 엽니다.
3. 데이터를 사용하여 피벗 테이블을 만듭니다.
4. 피벗 테이블로 차트를 만듭니다.


**Frame:**
![](/api/media?file=/analytics/media/images/sql-query-save.png)

\\


**\\:**
!\[]\(/analytics/media/images/copy-of-sql-excel.png)

\\


**\\:**
!\[]\(/analytics/media/images/copy-of-sql-table.png)

\\


**\\:**
!\[]\(/analytics/media/images/copy-of-sql-query-bar.png)
