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