menu
Is this helpful?

# 모델 검색 API

이 문서는 TA의 고급 사용 기능을 설명하며, 여러 기술에 대한 자세한 정보를 포함하고 관련 기능에 익숙한 사용자를 위한 참고 자료입니다. 이 문서에 대한 질문이 있는 경우 씽킹데이터 매니저에게 문의하여 일대일 지원을 받으시길 바랍니다. 모델 쿼리 API는 주로 다양한 데이터 분석 리포트를 얻는 데 사용됩니다. 호출 방법에 대한 설명은 Open API를 참조하십시오.

# 1. 일반 파라미터

# 속성 표현

거의 모든 API는 속성을 사용합니다. 예를 들어, 특정 속성에 기반한 필터링, 그룹화 또는 집계를 수행합니다. 속성은 일반적으로 이름과 테이블 유형이라는 두 가지 필드로 표현되며, 이벤트 속성, 유저 속성, 유저 코호트 속성으로 나눌 수 있습니다. 예를 들어, 'province'를 설명하는 이벤트 속성 표현은 다음과 같습니다: #province.

{
    "tableType":"event",
    "columnName":"#province"
}

유저 속성이 유사합니다. 예를 들어, 사용 레벨(user_level)을 나타냅니다:

{
    "tableType":"user",
    "columnName":"user_level"
}

# 필터 표현

필터링 표현은 대부분의 API에 적용 가능하며, 특정 이벤트나 유저의 필터링 작업을 설명하는 데 사용할 수 있습니다. JSON 표현은 다음과 같습니다:

{
  // Indicates whether the conditions in filters are'or'or'and'.
  "relation": "and",
  // Specific condition list, you can have more than one
  "filts": [{
    // The left value of the condition is an attribute
    "tableType":"event",
    "columnName": "#os",
    // A comparator of conditions, which means equal to
    "comparator": "equal",
    // A comparison value of a condition that can have one or more comparisons depending on the comparator
    "ftv": [
      "ios"
    ]
  },
  {
    "tableType":"user",
    "columnName":"user_level",
    "comparator": "equal",
    "ftv": [
      "5"
    ]
  }]
}

현재 지원되는 연산자는 다음과 같습니다:

  • equal / notEqual

문자열과 숫자 타입에 대해 같음/다름을 의미합니다. 여러 ftvs가 있는 경우 In 또는 Not In을 의미합니다. 예를 들어, 레벨 3과 레벨 5의 유저를 필터링하려면 다음과 같이 합니다:

{
    "tableType":"user",
    "columnName":"user_level",
    "comparator": "equal",
    "ftv": ["3","5"]
}
  • isTrue / isFalse

Boolean 타입에만 유효합니다.

  • isNull / notNull

속성에 값이 있는지 여부를 나타냅니다. 문자열 및 숫자 타입에 유효합니다.

  • include / notInclude

하위 문자열이 포함되었는지 여부를 나타냅니다:

{
    "tableType":"user",
    "columnName":"channel",
    "comparator": "include",
    "ftv": ["Application treasure "]
}

Less/greater/range : 미만/초과/범위를 의미하며, 그 중 range는 좌측 닫힌 구간과 우측 닫힌 구간 사이의 범위를 의미합니다. 숫자 타입 및 시간 타입에 유효합니다. 예를 들어, 남은 수량이 3에서 9 사이인 이벤트를 필터링하는 경우:

{
    "tableType":"event",
    "columnName":"count_left",
    "comparator": "range",
    "ftv": [3, 9]
}

또는 마지막 로그인 시간이 2019-11-13 00:00부터 2019-11-23 00:00 사이인 모든 유저를 필터링하려면 다음과 같이 합니다:

{
    "tableType":"user",
    "columnName":"latest_login_time",
    "comparator": "range",
    "ftv":["2019-11-13 00:00","2019-11-23 00:00"]
}
  • regexMatch / notRegexMatch

정규식 일치 또는 비일치, 문자열 타입에만 유효합니다.

  • relativeCurrentBetween / relativeCurrentBefore

날짜 타입 연산자는 현재 시간 이전 N일과 M일 사이 / 현재 시간 이전 N일 사이의 날짜를 나타냅니다. 예를 들어, 현재 시간 기준으로 등록 시간이 3일 전인 모든 유저를 필터링하려면 다음과 같이 합니다:

{
    "tableType":"user",
    "columnName":"register_time",
    "comparator": "relativeCurrentBefore",
    "ftv": [3]
}

또는 현재 시간 기준으로 등록 시간이 9일 또는 3일 전인 모든 유저를 필터링하려면 다음과 같이 합니다:

{
    "tableType":"user",
    "columnName":"register_time",
    "comparator": "relativeCurrentBetween",
    "ftv": [9, 3]
}
  • relativeEventBefore / relativeEventAfter / relativeEventAbsolute

날짜 타입 연산자는 상대 이벤트 시간 이전 N 기간 / 상대 이벤트 시간 이후 N 기간 / 상대 이벤트 시간 이전 또는 이후 N 기간 내에 있는 날짜를 나타냅니다. 예를 들어, 이전 유저 로그인 시간이 상대 이벤트 시간 3시간 전인 이벤트를 필터링하려면 다음과 같이 합니다:

{
    "tableType":"user",
    "columnName":"latest_login_time",
    "comparator": "relativeEventBefore",
    "ftv": [3],
    "timeUnit": "hour"
}
  • arrayIncludeItem / arrayNotIncludeItem

리스트 타입의 연산자로, 리스트에 특정 요소가 포함되어 있는지 여부를 나타냅니다.

  • arrayItemPos

리스트 타입의 연산자로, 리스트의 n번째 요소가 특정 값과 같은지 여부를 나타냅니다.

  • arrayIsNull / arrayNotNull

리스트 타입의 연산자로, 리스트가 존재하는지 여부를 나타냅니다.

# 테이블 유형

  • event

이벤트 테이블

  • user

유저 테이블

  • cluster

코호트/태그