SQL फ़ंक्शन जिन्हें मंज़ूरी मिली है

निजता की वजहों से, हम ADH में इस्तेमाल किए जा सकने वाले एसक्यूएल फ़ंक्शन पर पाबंदी लगाते हैं.

स्केलर फ़ंक्शन

निम्नलिखित को छोड़कर सभी अदिश फ़ंक्शन की अनुमति है:

  • 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++) फ़ंक्शन इस्तेमाल किए जा सकते हैं. हालांकि, वे ज़्यादा सीमाओं के साथ खास तरह के डेटा का इस्तेमाल करते हैं.

काम करने वाली फ़ाइल के टाइप

टाइप ब्यौरा
ADH.USER_HLL ADH.USER_ID टाइप की वैल्यू से इकट्ठा किया गया स्केच
ADH.BYTE_HLL बिना आईडी टाइप की किसी भी वैल्यू को मिलाकर तैयार किया गया स्केच

इस टाइप के विज्ञापनों में, एलिमेंट की संख्या के अनुमानों को मर्ज और एक्सट्रैक्ट किया जा सकता है. साथ ही, किसी अन्य टाइप से सीधे तौर पर कन्वर्ज़न नहीं किया जा सकता. उन्हें सीधे Ads Data Hub से एक्सपोर्ट नहीं किया जा सकता. इसलिए, क्वेरी आउटपुट तक पहुंचने से पहले उन्हें HLL_COUNT.EXTRACT या HLL_COUNT.MERGE का इस्तेमाल करना होगा.

एचएलएल स्केच, एग्रीगेशन की कई लेयर में एलिमेंट की संख्या का अनुमान लगाने की सुविधा चालू करते हैं. हालांकि, इस बात का ध्यान रखें कि 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)

उपयोगकर्ता सूची से जुड़ी क्वेरी

उपयोगकर्ता सूची क्वेरी में, एग्रीगेट फ़ंक्शन इस्तेमाल किए जा सकते हैं और विश्लेषण करने वाले फ़ंक्शन काम नहीं करते.