테이블 쿼리 및 집계

Prev Next

Tulip 테이블을 쿼리하고 Tulip 앱 내에서 액세스할 수 있는 집계 기능을 구축하는 방법을 알아보세요

이 기사에서는 다음 내용을 배울 수 있습니다...

  • 테이블 쿼리 및 집계 기능
  • 쿼리 및 집계 기능 구축 방법
  • 앱에서 쿼리 및 집계 기능을 사용하는 방법

개요

테이블 쿼리 및 집계 기능을 사용하면 테이블과 동적으로 상호 작용하여, 앱에서 사용할 데이터를 필터링하고 요약할 수 있습니다.

이 문서에서는 10개의 행으로 구성된 다음 ‘주문’ 테이블을 예시로 다룰 것입니다:

오른쪽 상단에서 ‘쿼리’ 및 ‘집계’ 버튼을 확인할 수 있습니다 . ‘쿼리’를 클릭하여 새 쿼리를 추가합니다.

다음 예제에서는 필터를 사용하여 아직 배송되지 않은 레코드만 반환합니다:

집계는 쿼리 위에 추가되며, 쿼리와 마찬가지로 테이블 수준에서 구성됩니다. ‘집계’를 클릭하여 새로운 집계를 생성합니다.

다음 예제는 테이블 필드인 ‘Product Quantity’의 합계를 구합니다:

쿼리

쿼리를 사용하면 테이블의 데이터를 필터링하고 정렬할 수 있습니다. 쿼리에서는 정적 값이나 앱 입력을 기반으로 한 동적 값을 모두 사용할 수 있습니다.

필터

특정 열 또는 여러 열을 정적 값이나 앱 입력과 비교하여 레코드를 필터링할 수 있습니다.

비교 옵션의 예는 다음과 같습니다:

  • 같음 / 다름
  • null임 / null 아님
  • 포함 / 포함하지 않음
  • ~로 시작함 / ~로 시작하지 않음
  • ~로 끝남 / ~로 끝나지 않음
  • 포함됨
  • 보다 크거나 같음 /보다 작거나 같음
  • ~보다 뒤이거나 같음 / ~보다 앞이거나 같음

'정적 값'은 쿼리를 생성할 때 정적으로 설정되지만, '앱 입력'은 앱 내에서 직접 구성됩니다. '앱 입력'은 다음과 같이 구성할 수 있습니다:

  • 변수
  • 정적 값
  • 앱 정보
  • Tulip 테이블 레코드

이제 테이블 쿼리에서 ‘생성 일시’ 및 ‘업데이트 일시’ 필드를 사용할 수 있습니다.

정렬

'정렬' 옵션을 구성하여 레코드 표시 방식을 사용자 지정할 수 있습니다. 예시:

  • A부터 Z / Z부터 A
  • 0부터 9 / 9부터 0

제한

쿼리를 통해 반환되는 레코드의 최대 개수입니다.

  • 기본값: 1,000
  • 최대값: 1,000

:::(경고) (제한에 도달했을 때의 동작)

쿼리 필터(또는 필터를 구성하지 않은 경우 전체)에 일치하는 테이블 내의 레코드( records ) 수가 제한값을 초과하는 경우, 쿼리 결과에는 제한값으로 지정된 수만큼만 포함됩니다.

쿼리에 정렬 조건이 포함된 경우, 해당 정렬 순서에 따라 처음 나오는 records 만 쿼리 결과에 포함됩니다.
:::

테스트

필터(Filter), 정렬(Sort), 제한(Limit) 옵션을 설정하여 쿼리를 구성한 후, 테이블에서 바로 ‘테스트(Test)’를 클릭하여 쿼리를 테스트할 수 있습니다. 이렇게 하면 앱에서 해당 쿼리가 반환할 결과를 시뮬레이션할 수 있습니다.

앱에서 쿼리 사용하기

앱에 쿼리를 추가하려면 먼저 ‘레코드’ 탭을 클릭한 다음 ‘+테이블 추가’를 클릭하여 테이블을 앱에 추가합니다 . 다음으로 ‘쿼리’를 클릭합니다.

표시되는 모달 창에서 쿼리 이름을 지정하고, 필요한 경우 필터와 관련된 앱 입력 항목을 구성합니다. 이 예시에서는 'Products Not Shipped' 쿼리를 확인해 보세요 :

앱에서 쿼리 구성이 완료되었으므로, 대화형 테이블을 삽입하고 데이터 소스로 해당 쿼리를 선택합니다.

임베드된 테이블에는 쿼리 결과가 표시됩니다. 이 예시에서는**'Shipped'가 'No'인** 필터 조건을 충족하는 3개의 레코드가 반환됩니다**:**

집계

집계는 쿼리 위에 적용되는 요약 값으로, 특정 열에 대해 다음 값 중 하나를 계산할 수 있습니다:

평균*: 숫자 또는 정수의 평균을 반환합니다

개수* 레코드 수를 반환하며, 필드 지정은 필요하지 않습니다

최대값*: 숫자 또는 정수의 최대값을 반환합니다

최소값*: 숫자 또는 정수의 최소값을 반환합니다.

최빈값* 가장 빈도가 높은 값을 반환합니다. * 참고: 두 값의 빈도가 동일한 경우, 항상 더 작은 값이 반환됩니다.

Sum*: 숫자 또는 정수의 합을 반환합니다

Unique Values* 주어진 쿼리의 개별 고유 값을 데이터 유형에 관계없이 배열로 반환합니다

제한 사항

집계는 최대 1,000개의 레코드를 고려할 수 있습니다.

집계는 구성된 쿼리에 의해 반환된 레코드를 대상으로 수행됩니다. 집계의 상위 쿼리에 설정된 제한은 집계에도 동일하게 적용됩니다(1,000개 레코드).

테이블에 지정된 필터 조건에 해당하는 레코드가 제한 수를 초과하고 사용자가 쿼리 제한을 인지하지 못하는 경우, 집계 결과에서 예상치 못한 결과가 나타날 수 있습니다.

앱에서 사용하기 위해 1,000개 이상의 레코드를 집계해야 하는 경우, 커넥터 함수를 통해 최대 100,000개의 레코드를 지원하는 Tulip API의 runAggregation 엔드포인트를 사용하십시오.

1,000개 이상의 레코드에 대한 집계 결과를 시각화하기만 하면 되는 경우, 테이블의 모든 레코드를 집계할 수 있는 Analytics를 사용하여 단일 값(Single Value) 분석을 구축하십시오.

앱에서 집계 사용

쿼리를 앱에 추가하는 방법과 마찬가지로, ‘+ 집계 추가 (+Add Aggregation)’를 클릭하여 집계를 추가하고 집계 이름을 지정하세요.

이 예시에서는 ‘주문된 제품 총 수량’ 집계 기능이 ‘아직 배송되지 않은 레코드’만 반환하는 쿼리에 적용됩니다. 따라서 집계 이름은 ‘배송 예정 제품 수량’으로 지정됩니다 :

앱에 집계 기능을 삽입하려면 앱에 변수를 드래그 앤 드롭한 후 데이터 소스로 ‘Tulip 테이블 집계’를 선택합니다. 다음으로, 앱에 집계를 추가할 때 설정한 집계 이름을 선택합니다.

이 예제에서는 '제품 수량 합계' 집계 기능이 배송이 필요한 레코드를 반환하는 쿼리 위에 실행되었습니다. 그 결과 총 17이 반환됩니다:

앱 로직에서 집계 사용

집계를 사용하면 집계 값을 기반으로 앱 로직을 구축할 수 있습니다. 아래 예시를 참조하십시오:

단일 수치(Single Number ) Tulip Analytics는 현재 앱 내에서 액세스할 수 없으며, 앱 로직에 직접 활용할 수 없다는 점에 유의하십시오. 쿼리를 기반으로 집계 기능을 실행하면 해당 값을 대상으로 삼아 이를 중심으로 앱 로직을 구축할 수 있습니다.

{{snippet.원하는 정보를 찾으셨나요?}}