개인 정보 보호를 위해 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
사용자 목록 쿼리
사용자 목록 쿼리에서는 집계 함수가 허용되며 분석 함수는 지원되지 않습니다.