허용되는 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

분석 함수

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

사용자 수준 집계

SELECT 문에서 user_id로 그룹화하거나 파티션을 나누는 모든 집계 및 분석 함수가 허용됩니다. 이 작업을 실행하려면 이전의 모든 조인에서 아래 예와 같이 user_id에 조인하여 데이터가 사용자 수준에서 유지된다는 것을 명확히 해야 합니다.

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

이렇게 할 수 없는 경우 ID가 서로 별개이고 조인되지 않기 때문에 쿼리는 다음 예시와 같이 모든 독립 ID를 그룹화하거나 파티션해야 합니다.

SELECT
  a.user_id AS user_a,
  b.user_id AS user_b,
  ARRAY_AGG(DISTINCT campaign_id) campaigns
FROM
  adh.google_ads_impressions a
  JOIN adh.google_ads_impressions b USING (campaign_id)
GROUP BY 1, 2

사용자 목록 쿼리

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