허용되는 SQL 함수

개인 정보 보호를 위해 ADH에서 사용할 수 있는 SQL 함수가 제한됩니다.

스칼라 함수

다음을 제외한 모든 스칼라 함수가 허용됩니다.

  • ERROR
  • ST_AREA
  • ST_ASBINARY
  • ST_ASGEOJSON
  • ST_ASTEXT
  • ST_BOUNDARY
  • ST_CENTROID
  • ST_CENTROID_AGG
  • ST_CLOSESTPOINT
  • ST_CLUSTERDBSCAN
  • ST_CONTAINS
  • ST_CONVEXHULL
  • ST_COVEREDBY
  • ST_COVERS
  • ST_DIFFERENCE
  • ST_DIMENSION
  • ST_DISJOINT
  • ST_DISTANCE
  • ST_DUMP
  • ST_DWITHIN
  • ST_EQUALS
  • ST_GEOGFROMGEOJSON
  • ST_GEOGFROMTEXT
  • ST_GEOGFROMWKB
  • ST_GEOGPOINT
  • ST_GEOGPOINTFROMGEOHASH
  • ST_GEOHASH
  • ST_INTERSECTION
  • ST_INTERSECTS
  • ST_INTERSECTSBOX
  • ST_ISCOLLECTION
  • ST_ISEMPTY
  • ST_LENGTH
  • ST_MAKELINE
  • ST_MAKEPOLYGON
  • ST_MAKEPOLYGONORIENTED
  • ST_MAXDISTANCE
  • ST_NPOINTS
  • ST_NUMPOINTS
  • ST_PERIMETER
  • ST_SIMPLIFY
  • ST_SNAPTOGRID
  • ST_TOUCHES
  • ST_UNION
  • ST_UNION_AGG
  • ST_WITHIN
  • ST_X
  • ST_Y

분석 쿼리

집계 분석 쿼리의 경우 여러 사용자의 데이터를 결합하는 함수가 제한됩니다. 단일 사용자 데이터를 처리하는 경우 모든 집계 및 분석 함수가 허용됩니다. 자세한 내용은 아래의 사용자 수준 집계를 참고하세요.

집계 함수

함수 허용 여부
ANY_VALUE
APPROX_QUANTILES 아니요
APPROX_TOP_COUNT 아니요
APPROX_TOP_SUM 아니요
ARRAY_AGG 아니요
ARRAY_CONCAT_AGG 아니요
AVG
BIT_AND 아니요
BIT_OR 아니요
BIT_XOR 아니요
COUNT
COUNTIF
LOGICAL_AND
LOGICAL_OR
MAX
MIN
SUM
CORR
COVAR_POP
COVAR_SAMP
STDDEV_POP
STDDEV_SAMP
STDDEV
STRING_AGG 아니요
VAR_POP
VAR_SAMP
VARIANCE
APPROX_COUNT_DISTINCT

분석 함수

모든 분석 함수가 제한됩니다.

HyperLogLog++ 함수

Ads Data Hub는 HyperLogLog++ (HLL++) 함수를 지원합니다. 하지만 Ads Data Hub는 제한사항이 더 많은 특수한 데이터 유형을 사용합니다.

지원 유형

유형 설명
ADH.USER_HLL 다양한 ADH.USER_ID 유형에서 집계된 스케치
ADH.BYTE_HLL ID가 아닌 모든 유형의 값에서 집계된 스케치

이러한 유형은 병합 및 카디널리티 예상치로의 추출을 지원하지만, 다른 유형으로의 직접 전환은 지원하지 않습니다. 또한 Ads Data Hub에서 직접 내보낼 수 없으므로, 쿼리 출력에 도달하기 전에 HLL_COUNT.EXTRACT 또는 HLL_COUNT.MERGE를 사용해야 합니다.

HLL 스케치를 사용하면 여러 집계 레이어에 걸쳐 카디널리티를 추정할 수 있지만, Ads Data Hub에서는 단일 레이어의 COUNT(DISTINCT)에 대한 실적이 크게 개선되지 않습니다.

지원되는 함수

함수 이름 지원 유형 반환 유형
HLL_COUNT.EXTRACT ADH.USER_HLL, ADH.BYTE_HLL INT64
HLL_COUNT.INIT 모든 표준 지원 유형, ADH.USER_ID ADH.USER_ID 입력의 경우 ADH.USER_HLL 그렇지 않으면 ADH.BYTE_HLL
HLL_COUNT.INITNT.MERGE ADH.USER_HLL, ADH.BYTE_HLL INT64
HLL_COUNT.MERGE_PARTIAL ADH.USER_HLL, ADH.BYTE_HLL 입력 유형과 동일

제한사항

노이즈 삽입: 노이즈 삽입을 사용하여 쿼리를 실행하는 경우 HLL++ 함수가 지원되지 않습니다.

사용자 수준 집계

SELECT 문에서 user_id를 기준으로 분류하거나 분할하는 모든 집계 및 분석 함수가 허용됩니다. 이 작업이 가능하려면 모든 이전 조인에서 다음 예와 같이 user_id에서 조인하여 데이터를 사용자 수준에서 유지해야 합니다.

CREATE TABLE paths AS (
SELECT ARRAY_AGG(campaign_id ORDER BY query_id.time_usec) AS path
FROM
  adh.google_ads_impressions
  LEFT JOIN adh.google_ads_clicks
    USING(query_id, user_id)
GROUP BY user_id)

사용자 목록 쿼리

사용자 목록 쿼리에서는 집계 함수가 허용되며 분석 함수는 지원되지 않습니다.