조회된 데이터를 연산

함수의 활용

DeepSearch 의 검색 결과를 다양하게 분석할 수 있도록 아래와 같은 함수를 지원합니다.

4칙연산(+,-,*,/), Max(), Min(), Abs(), Select(), Mean(), Top(), Bottom(), Sum(), Rank(), Sort()

4칙연산

DeepSearch 의 입력 쿼리는 4칙 연산 및 () 를 지원합니다. 함수와 4칙 연산, ()를 통하여 보다 복잡한 형태의 쿼리를 수행할 수 있습니다.

(1+1)*17/32

사칙연산을 이용하여 영업이익을 매출로 나누어 영업이익률을 계산할 수도 있고, 직전연도 매출 대비 2배이상 상승한 기업 리스트 등을 조회할 수 있습니다.

영업이익 / 매출 > 0.2 : 영업이익률이 20%를 초과하는 기업리스트를 조회합니다. 
2020 매출 > 2019 매출 * 2 : 2020년 매출이 2019년 매출대비 2배이상 상승한 기업리스트를 조회합니다.

Max(), Min()

입력 쿼리 결과값의 최대값 혹은 최소값을 계산합니다.

Max(삼성전자 매출액 2010-2018) : 삼성전자의 2010-2018 매출액 중 최대값을 리턴합니다.
Min(LG전자 영업이익 2010-2018) : LG전자의 2010-2018 영업이익 중 최소값을 리턴합니다. 

4칙 연산을 함께 활용하여, 최근 삼성전자 매출액의 최대값과 최소값이 어느정도 차이가 나는지 계산해 볼 수 있습니다.

Max(삼성전자 매출액 2010-2018)/ Min(삼성전자 매출액 2010-2018

Abs()

입력 쿼리의 결과값을 절대값으로 변환합니다.

예를 들어, 영업손실이 발생하는 기업들의 영업손실값을 절대값으로 전환하여 가져올 수 있습니다.

Abs(영업이익 < 0)

Select()

입력 쿼리 결과값이 여러개 일때, 그 중 어떤 결과를 사용할지 지정합니다. 보통 다른 함수와 중첩해서 많이 사용됩니다.

Select({입력쿼리}, {선택 순번})

Select({입력쿼리}, [{선택순번1}, {선택순번2}, ... ,{선택순번N}])

Select({입력쿼리}, {컬럼명})

Select({입력쿼리}, [{컬럼명1}, {컬럼명2}, ... , {컬럼명N}]

예를 들어, 시가총액이 1000억원 이상인 반도체 사업 기업의 매출액 정보만을 가져올 수 있습니다. 매출액 정보만을 가져오기 위하여, 순번 값에 2를 넣었습니다. ( 0: 사업 기업, 1:시가총액, 2:매출액이 되며, 입력쿼리의 쿼리 순서를 따릅니다. )

Select("*반도체*" 사업 기업 and 시가총액 > 100000000000 and 매출액, 2)

만약, 시가총액과 매출액을 조회하려면 순번값에 [1,2]를 넣어서 조회합니다.

Select("*반도체*" 사업 기업 and 시가총액 > 100000000000 and 매출액, [1,2])

순번이아니라 직접 컬럼명을 입력할 수도 있습니다.

Select("*반도체*" 사업 기업 and 시가총액 > 100000000000 and 매출액, ["시가총액", "매출액"])

Mean()

입력 쿼리의 결과를 평균합니다.

삼성전자의 2018년 주가 평균값은 아래와 같습니다.

Mean(삼성전자 2018 주가)

Select() 함수와 중첩하여 보다 복잡한 계산을 할 수 있습니다. 예를 들어, 반도체 관련 기업의 시가총액 평균은 다음과 같이 계산할 수 있습니다.

Mean(Select(반도체 관련 기업 and 시가총액, 1))

Sum()

입력 쿼리 결과값의 합계를 계산합니다.

예를 들어, 비트코인 관련 기업의 매출액의 합계를 아래와 같이 계산할 수 있습니다.

Sum(Select(비트코인 관련 기업 and 2017 매출액, 1))

Top(), Bottom()

입력 쿼리의 결과값들을 정렬하여 상위 n개, 혹은 하위 n개만 보여줍니다.

Top({입력쿼리}, 개수)

Bottom({입력쿼리}, 개수)

예를 들어, 시가 배당률이 가장 높은 10개의 기업을 아래와 같이 계산할 수 있습니다.

Top(dps/주가, 10)

입력 쿼리가 여러 조건으로 중첩되어 있는 경우, 그 중 어떤 결과값을 선택하여 상위 n개만 가져오기 위해서는 선택 함수를 사용하거나, 두번째 파라미터로 몇번째 결과값을 사용할지 추가하면 됩니다.

Top({입력쿼리}, 개수, 몇번째 쿼리 결과를 기준으로 할 것인지 순)

예를 들어, 반도체 관련 기업 중 시가총액이 1000억원 이상인 기업에 대하여, 매출액 순위 top 10 기업을 추출하고자 한다면 다음과 같이 쿼리할 수 있습니다.

Top(반도체 관련 기업 and 시가총액 > 100000000000 and 매출액, 10, 2)

Rank()

입력 쿼리의 결과값을 순위를 매겨서 리턴합니다.

예를 들어, 토지 순위를 다음과 같이 입력하여 확인해 볼 수 있습니다.

Rank(토지)

Sort()

입력 쿼리의 결과값을 정렬하여 리턴합니다.

Sort(Rank(매출액))

정렬 방법을 내 차순으로 바꾸기 위해서는 아래와 같이 파라미터를 추가하면 됩니다.

Sort(매출액 > 1000000000, ascending=False)

Last updated