यह सुविधा सिर्फ़ Analytics 360 में उपलब्ध है जो Google Marketing Platform का हिस्सा है. Google Marketing Platform के बारे में ज़्यादा जानें. |
इस लेख में, BigQuery में एक्सपोर्ट किए जाने वाले Analytics डेटा की क्वेरी बनाने के तरीके से जुड़े उदाहरण दिए गए हैं. हमने एक सैंपल डेटासेट उपलब्ध कराया है, ताकि आप इस लेख में दी गई क्वेरी के साथ अभ्यास कर सकें.
इस लेख में इन विषयों के बारे में बताया गया है:- क्वेरी ऑप्टिमाइज़ेशन
- सलाह और सबसे सही तरीके
- बुनियादी क्वेरी के उदाहरण
- बेहतर क्वेरी के उदाहरण
- प्रॉडक्ट A खरीदने वाले ग्राहकों के ज़रिए खरीदे गए प्रॉडक्ट (क्लासिक ई-कॉमर्स)
- प्रॉडक्ट A खरीदने वाले ग्राहकों के ज़रिए खरीदे गए प्रॉडक्ट (बेहतर ई-कॉमर्स)
- खरीदारी से पहले उपयोगकर्ता इंटरैक्शन की औसत संख्या
- हर प्रॉडक्ट के बेचे गए स्टॉक का प्रतिशत
- हर प्रॉडक्ट से होने वाला मुनाफ़ा
- हर प्रॉडक्ट से होने वाला असल मुनाफ़ा
क्वेरी ऑप्टिमाइज़ेशन
आपकी चलाई गई हर क्वेरी, आपके मासिक डेटा-प्रोसेसिंग भत्ते में योगदान देती है. बाहरी फ़ील्ड चुनने पर, प्रोसेस किए जाने वाले आपके डेटा की मात्रा बढ़ जाती है और इसकी वजह से आपका मासिक भत्ता आवश्यकता से ज़्यादा खर्च होता है. ऑप्टिमाइज़ की गई क्वेरी, डेटा-प्रोसेसिंग के लिए हर महीने की तय सीमा का बेहतर इस्तेमाल करती है.
कीमत तय करने के बारे में ज़्यादा जानें.
सिर्फ़ अपनी ज़रूरत की चीज़ें चुनें
क्वेरी तैयार करते समय, SELECT स्टेटमेंट के अंदर काम के फ़ील्ड चुनें. बाहरी फ़ील्ड को कॉल न करके, क्वेरी को प्रोसेस करने के लिए आवश्यक डेटा की मात्रा और उसमें लगने वाले समय को कम किया जाता है.
उदाहरण: वाइल्डकार्ड ऑपरेटर का इस्तेमाल करने से बचें
खराब फ़ॉर्म: वाइल्डकार्ड ऑपरेटर का इस्तेमाल करना |
---|
SELECT * |
बेहतर फ़ॉर्म: बेवजह प्रोसेसिंग से बचने के लिए, फ़ील्ड के नाम का इस्तेमाल करना |
---|
SELECT field1, field2 |
कैशिंग की अनुमति देना
जहां संभव हो, फ़ंक्शन का फ़ील्ड के रूप में इस्तेमाल करने से बचें. फ़ंक्शन (जैसे NOW()
या TODAY()
) अलग-अलग नतीजे देते हैं, जिसके कारण क्वेरी कैश मेमोरी में सेव नहीं होती हैं और इसलिए वे ज़्यादा जल्दी से मिलती हैं. इसके बजाय, खास समय और तारीखों का इस्तेमाल करें.
आम तौर पर इस्तेमाल की जाने वाली सबक्वेरी के लिए इंटरमीडिएट टेबल का इस्तेमाल करना
बार-बार किसी खास क्वेरी का इस्तेमाल, एक सबक्वेरी के रूप में करने पर, क्वेरी के नतीजों के ऊपर मौजूद टेबल के रूप में सेव करें पर क्लिक करके, उस क्वेरी को एक इंटरमीडिएट टेबल के रूप में सेव किया जा सकता है. इसके बाद, अपनी क्वेरी के FROM
सेक्शन में उस टेबल का रेफ़रंस दिया जा सकता है. इससे, प्रोसेस किया जाने वाला डेटा और प्रोसेसिंग में लगने वाला समय, दोनों ही कम हो जाएंगे.
इंटरमीडिएट टेबल का इस्तेमाल करना |
---|
SELECT field1, field2 |
क्वेरी डीबग करना
आपके कोड बनाते ही BigQuery उसे डीबग कर देता है. कंपोज़िशन विंडो में, डीबगिंग बिलकुल क्वेरी के नीचे दिखाई देती है. डीबगिंग, dryRun फ़्लैग वाले एपीआई के ज़रिए भी उपलब्ध है.
मान्य क्वेरी में हरे रंग का इंंडिकेटर होता है, जिस पर क्लिक करके उस क्वेरी से प्रोसेस किए गए डेटा की मात्रा देखी जा सकती है. इस सुविधा की मदद से, अनावश्यक डेटा प्रोसेसिंग से बचने के लिए, क्वेरी चलाने के पहले अपने डेटा को ऑप्टिमाइज़ किया जा सकता है.
अमान्य क्वेरी में लाल रंग का इंंडिकेटर होता है. इस पर क्लिक करके, गड़बड़ी से जुड़ी जानकारी देखी जा सकती है. साथ ही, गड़बड़ी वाली लाइन और कॉलम को खोजा भी जा सकता है. नीचे दिए गए उदाहरण में, GROUP BY स्टेटमेंट खाली है और गड़बड़ी को सटीक रूप से दिखाया गया है.
सलाह और सबसे सही तरीके
सैंपल डेटासेट का इस्तेमाल करना
नीचे दिए गए उदाहरण, Google Analytics सैंपल डेटासेट का इस्तेमाल करते हैं.
अपने डेटा पर क्वेरी का इस्तेमाल करने के लिए, बस अपने प्रोजेक्ट और डेटासेट नामों के उदाहरणों में प्रोजेक्ट और डेटासेट नामों को बदलें.
मानक एसक्यूएल बनाम लेगसी एसक्यूएल का इस्तेमाल करना
BigQuery, दो एसक्यूएल डायलेक्ट के साथ काम करता है:
मानक एसक्यूएल पर माइग्रेट करना. यह दो डायलेक्ट के बीच अंतर बताता है.
BigQuery में स्टोर किए गए डेटा की क्वेरी करने के लिए, मानक एसक्यूएल अब मुख्य एसक्यूएल भाषा है.
BigQuery यूज़र इंटरफ़ेस (यूआई), सीएलआई, एपीआई में या किसी और इंटरफ़ेस का इस्तेमाल करने पर, मानक एसक्यूएल चालू करने के बारे में जानकारी के लिए मानक एसक्यूएल चालू करना देखें.
नीचे दिए गए उदाहरणों के मुताबिक, मानक एसक्यूएल क्वेरी के ऊपर "standardSQL" टिप्पणी शामिल करना, शुरू करने का सबसे आसान तरीका है.
लेगसी एसक्यूएल की मदद से Google Analytics 360 का डेटा, रोज़ एक नई टेबल में भेजा जाता है. एक साथ कई टेबल के लिए क्वेरी करने पर, टेबल के नामों को कॉमा लगाकर अलग किया जा सकता है. इसके लिए, TABLE_DATE_RANGE
टेबल वाइल्डकार्ड फ़ंक्शन का इस्तेमाल करें या कॉमा लगाकर अलग किए गए TABLE_DATE_RANGE
के कई फ़ंक्शन का इस्तेमाल करें. इन फ़ंक्शन के बारे में नीचे दिए गए उदाहरणों में बताया गया है.
एक से ज़्यादा टेबल पर क्वेरी करें
नीचे दिए गए उदाहरण आपको एक ही डेटा के लिए मानक एसक्यूएल और लेगसी एसक्यूएल क्वेरी दिखाते हैं.
3 दिन
मानक एसक्यूएल
UNION ALL का इस्तेमाल करने वाले तीन दिन |
---|
#standardSQL |
लेगसी एसक्यूएल
कॉमा लगाकर अलग किए गए टेबल नामों का इस्तेमाल करने वाले तीन दिन |
---|
SELECT |
पिछले 1,095 दिन
मानक एसक्यूएल
_TABLE_SUFFIX का इस्तेमाल करने वाले पिछले 1,095 दिन |
---|
#standardSQL |
लेगसी एसक्यूएल
TABLE_DATE_RANGE का इस्तेमाल करने वाले पिछले 1,095 दिन |
---|
SELECT |
पिछले 36 महीने
मानक एसक्यूएल
_TABLE_SUFFIX का इस्तेमाल करने वाले पिछले 36 महीने |
---|
#standardSQL |
लेगसी एसक्यूएल
TABLE_DATE_RANGE का इस्तेमाल करने वाले पिछले 36 महीने |
---|
SELECT |
पिछले तीन साल
मानक एसक्यूएल
_TABLE_SUFFIX इस्तेमाल करने वाले पिछले तीन साल |
---|
#standardSQL |
लेगसी एसक्यूएल
TABLE_DATE_RANGE का इस्तेमाल करने वाले पिछले तीन साल |
---|
SELECT |
तारीख की खास सीमा
मानक SQL
_TABLE_SUFFIX का इस्तेमाल करने वाली तारीख की खास सीमा |
---|
#standardSQL |
लेगसी एसक्यूएल
TABLE_DATE_RANGE का इस्तेमाल करने वाली तारीख की खास सीमा |
---|
SELECT |
पिछले तीन साल के डेटा के साथ आज का डेटा (इंट्रा-डे)
मानक SQL
यूनियन ऑल और _TABLE_SUFFIX का इस्तेमाल करने वाले पिछले 3 वर्षों के साथ आज का डेटा (अंतःदिवसीय) |
---|
नोट: यह उदाहरण क्वेरी, Google Analytics सार्वजनिक डेटासेट के साथ काम नहीं करेगी, क्योंकि फ़िलहाल कोई इंट्रा-डे टेबल नहीं है. |
#standardSQL |
लेगसी एसक्यूएल
कई TABLE_DATE_RANGE का इस्तेमाल करने वाले पिछले 3 वर्षों के साथ आज का डेटा (अंतःदिवसीय) |
---|
नोट: यह उदाहरण क्वेरी, Google Analytics सार्वजनिक डेटासेट के साथ काम नहीं करेगी, क्योंकि फ़िलहाल कोई इंट्रा-डे टेबल नहीं है. |
SELECT |
बुनियादी क्वेरी के उदाहरण
यह अनुभाग उदाहरणस्वरूप दिए गए Analytics डेटा के मीट्रिक और आयामों का उपयोग करके बुनियादी क्वेरी तैयार करने के तरीके का वर्णन करता है.
हर [डाइमेंशन] के लिए कुल [मेट्रिक]?
नीचे प्रश्न के लिए उदाहरण स्क्रिप्ट दिए गए हैं: जुलाई 2017 में प्रति डिवाइस ब्राउज़र द्वारा जनरेट हुए लेनदेन की कुल संख्या क्या है?
मानक SQL
जुलाई 2017 में, हर डिवाइस ब्राउज़र के लिए कुल लेन-देन |
---|
#standardSQL |
लेगसी एसक्यूएल
जुलाई 2017 में, हर डिवाइस ब्राउज़र के लिए कुल लेन-देन |
---|
SELECT |
हर [ आयाम ] के लिए औसत बाउंस रेट?
असल बाउंस रेट, एक ही पेज व्यू के साथ वेबसाइट पर आने वाले के प्रतिशत के रूप में तय किया गया है. सवाल के लिए नीचे उदाहरण स्क्रिप्ट दिए गए हैं: हर ट्रैफ़िक सोर्स के लिए असल बाउंस रेट क्या था?
मानक SQL
जुलाई 2017 में, हर ट्रैफ़िक सोर्स के लिए बाउंस रेट |
---|
#standardSQL |
लेगसी एसक्यूएल
जुलाई 2017 में, हर ट्रैफ़िक सोर्स के लिए बाउंस रेट |
---|
SELECT |
खरीदार के टाइप (खरीदार बनाम सेवा या प्रॉडक्ट का मुफ़्त में इस्तेमाल करने वाला उपयोगकर्ता) के हिसाब से, प्रॉडक्ट के पेज व्यू की औसत संख्या
नीचे प्रश्न के लिए उदाहरण स्क्रिप्ट दिए गए हैं: जुलाई 2017 में खरीदारी करने वाले उपयोगकर्ताओं के लिए उत्पाद पेजव्यू की औसत संख्या क्या थी?
मानक SQL
जुलाई 2017 में, खरीदारी करने वाले उपयोगकर्ताओं के लिए, प्रॉडक्ट के पेज व्यू की औसत संख्या |
---|
#standardSQL |
लेगसी एसक्यूएल
जुलाई 2017 में, खरीदारी करने वाले उपयोगकर्ताओं के लिए, प्रॉडक्ट के पेज व्यू की औसत संख्या |
---|
SELECT |
सवाल के लिए उदाहरण स्क्रिप्ट नीचे दिए गए हैं: जुलाई 2017 में, खरीदारी नहीं करने वाले उपयोगकर्ताओं के लिए, प्रॉडक्ट के पेज व्यू की औसत संख्या कितनी थी?
मानक SQL
जुलाई 2017 में, खरीदारी न करने वाले उपयोगकर्ताओं के लिए, प्रॉडक्ट के पेज व्यू की औसत संख्या |
---|
#standardSQL |
लेगसी एसक्यूएल
जुलाई 2017 में, खरीदारी न करने वाले उपयोगकर्ताओं के लिए, प्रॉडक्ट के पेज व्यू की औसत संख्या |
---|
SELECT |
हर खरीदार के लेन-देन की औसत संख्या
नीचे प्रश्न के लिए उदाहरण स्क्रिप्ट दिए गए हैं: जुलाई 2017 में खरीदारी करने वाले प्रत्येक उपयोगकर्ता का औसत कुल लेनदेन क्या था?
मानक SQL
जुलाई 2017 में, खरीदारी करने वाले हर उपयोगकर्ता के लेन-देन की औसत संख्या |
---|
#standardSQL |
लेगसी एसक्यूएल
जुलाई 2017 में, खरीदारी करने वाले हर उपयोगकर्ता के लेन-देन की औसत संख्या |
---|
SELECT |
हर सेशन के लिए खर्च की गई औसत रकम
नीचे प्रश्न के लिए उदाहरण स्क्रिप्ट दिए गए हैं: जुलाई 2017 में प्रति सत्र खर्च की गई औसत राशि क्या है?
मानक SQL
जुलाई 2017 में, हर सेशन के लिए खर्च की गई औसत रकम |
---|
#standardSQL |
लेगसी एसक्यूएल
जुलाई 2017 में, हर सेशन के लिए खर्च की गई औसत रकम |
---|
SELECT |
हिट का क्रम
नीचे प्रश्न के लिए उदाहरण स्क्रिप्ट दिए गए हैं: पेज का अनुक्रम क्या है?.
मानक SQL
जुलाई 2017 में, उपयोगकर्ताओं के देखे गए पेज का क्रम |
---|
#standardSQL |
लेगसी एसक्यूएल
जुलाई 2017 में, उपयोगकर्ताओं के देखे गए पेज का क्रम |
---|
SELECT |
इस क्वेरी में, इवेंट या लेन-देन इंटरैक्शन न देखने के लिए, हिट के टाइप को पेज
तक सीमित कर देते हैं. आउटपुट की हर लाइन एक पेज व्यू दिखाती है और उसे चुनें
स्टेटमेंट में फ़ील्ड के डिफ़ॉल्ट क्रम के मुताबिक दिखाता जाता है.
हिट या सेशन लेवल पर कई कस्टम डाइमेंशन
हिट लेवल पर कस्टम डाइमेंशन |
---|
SELECT fullVisitorId, visitId, hits.hitNumber, hits.time, |
सेशन लेवल पर कस्टम डाइमेंशन |
---|
SELECT fullVisitorId, visitId, |
हर क्वेरी में:
काम के डाइमेंशन और मेट्रिक फ़ील्ड के लिए, SELECT
स्टेटमेंट क्वेरी.
MAX
फ़ंक्शन:
- नए कॉलम के रूप में कस्टम डाइमेंशन को लौटाता है. कई कस्टम डाइमेंशन को नए कॉलम के रूप में लौटाने के लिए, फ़ंक्शन को दोहराया जा सकता है.
WITHIN hits
औरWITHIN RECORD
BigQuery की दोहराई जाने वाली फ़ील्ड में शर्त का मूल्यांकन करते हैं.- हर कस्टम डाइमेंशन के लिए
MAX
के भीतर मौजूद शर्त का मूल्यांकन किया जाता है, लेकिन जोindex=1 (हिट)
याindex=2 (सेशन)
नहीं होते, उनके लिए यहNULL
भेजता है. - सबसे ज़्यादा वैल्यू वापस भेजता है, जो हिट के लिए कस्टम डाइमेंशन 1 की वैल्यू या सेशन के लिए कस्टम डाइमेंशन 2 की वैल्यू होता है, क्योंकि बाकी सभी वैल्यू
NULL
होती हैं.
उन्नत क्वेरी के उदाहरण
सामान्य क्वेरी से परिचित हो जाने के बाद, BIgQuery में मौजूद बेहतर फ़ंक्शन और सुविधाओं का इस्तेमाल करके क्वेरी को बनाया जा सकता है.
प्रॉडक्ट A खरीदने वाले ग्राहकों के ज़रिए खरीदे गए प्रॉडक्ट (क्लासिक ई-कॉमर्स)
नीचे, सवाल के लिए आधारभूत स्क्रिप्ट दी गई है: प्रॉडक्ट A खरीदने वाले ग्राहकों के ज़रिए अन्य कौनसे प्रॉडक्ट खरीदे गए हैं?
प्रॉडक्ट A खरीदने वाले ग्राहक के ज़रिए खरीदे गए प्रॉडक्ट (क्लासिक ई-कॉमर्स) |
---|
SELECT hits.item.productName AS other_purchased_products, COUNT(hits.item.productName) AS quantity |
- पहली लाइन में, उपयोगकर्ता के खरीदे गए अन्य सभी आइटम चुने जाते हैं और एग्रीगेट फ़ंक्शन
COUNT()
का इस्तेमाल, खरीदे गए हर अन्य आइटम को गिनने के लिए किया जाता है. इसके बादसंख्या
लेबल वाली फ़ील्ड में नतीजा दिखाया जाता है और उससे जुड़े आइटम, प्रॉडक्ट फ़ील्ड मेंother_purchased_products
लेबल के रूप दिखता है. - ग्रे रंग की सबक्वेरी में, सिर्फ़ ऐसे यूनीक उपयोगकर्ताओं (
fullVisitorId
) को चुना जाता है जिन्होंने लेन-देन (totals.transactions>=1
) किए हैं और लेन-देन के दौरान, प्रॉडक्ट A (WHERE hits.item.productName CONTAINS 'Product Item Name A'
) खरीदा है.
टॉप लेवल (हरे रंग की) की क्वेरी में नियम (WHERE
और AND
स्टेटमेंट), hits.item.productName
के उन वैल्यू को अनदेखा कर देते हैं जो शून्य हैं और जिनमें प्रॉडक्ट A शामिल है.
अगर कोई खरीदार, फ़ाउंटेन पेन खरीदता है - चार का सेट, तो उसने दूसरे कौन से प्रॉडक्ट खरीदे हैं? क्वेरी का एक उदाहरण यह है
'फ़ाउंटेन पेन (4 का सेट)' खरीदने वाले ग्राहक के ज़रिए, 24 जून, 2013 को खरीदे गए प्रॉडक्ट |
---|
SELECT hits.item.productName AS other_purchased_products, COUNT(hits.item.productName) AS quantity |
Dremel/BigQuery में, WHERE exp IN
के इस्तेमाल से JOIN ट्रिगर होता है और साइज़ की पाबंदियां लागू होती हैं; खास तौर पर, JOIN (इस मामले में, वेबसाइट पर आने वाले लोगों की संख्या) के दाईं ओर का साइज़ 8 एमबी से कम होना चाहिए. Dremel में, इसे ब्रॉडकास्ट JOIN कहा जाता है. साइज़ 8 एमबी से ज़्यादा होने पर, आपको शफ़ल किए गए JOIN ट्रिगर करना होगा. ऐसा करने के लिए, JOIN EACH सिंटैक्स का इस्तेमाल करें. माफ़ करें, यह काम IN का इस्तेमाल करके नहीं किया जा सकता, लेकिन वही क्वेरी JOIN का इस्तेमाल करके फिर से लिखा जा सकता है.
प्रॉडक्ट A खरीदने वाले ग्राहकों के ज़रिए खरीदे गए प्रॉडक्ट (बेहतर ई-कॉमर्स)
यह पिछली आधारभूत क्वेरी के समान है, लेकिन उन्नत ईकॉमर्स के लिए काम करती है. यह कई दिनों तक डेटा क्वेरी के लिए TABLE_DATE_RANGE
का इस्तेमाल भी करती है.
प्रॉडक्ट A खरीदने वाले की ओर से खरीदे गए प्रॉडक्ट (बेहतर ई-कॉमर्स) |
---|
SELECT hits.product.productSKU AS other_purchased_products, COUNT(hits.product.productSKU) AS quantity |
खरीदारी से पहले उपयोगकर्ता इंटरैक्शन की औसत संख्या
यह JOIN() [...] ON
कमांड की क्वेरी का एक उदाहरण है, जो सिर्फ़ Google Analytics डेटा पर निर्भर करता है.
सवाल की आधारभूत स्क्रिप्ट नीचे दी गई है: खरीदारी से पहले उपयोगकर्ता इंटरैक्शन की औसत संख्या क्या है?
खरीदारी से पहले उपयोगकर्ता इंटरैक्शन की संख्या |
---|
SELECT one.hits.item.productSku AS ProductSku, ( sum_of_hit_number / total_hits ) AS avg_hit_number |
- पहली लाइन, हर औसत उपयोगकर्ता इंटरैक्शन का पता लगाने के लिए, मुख्य गणितीय ऑपरेशन का इस्तेमाल करती है और यह क्वेरी ‘Alias_Name_1’ और ‘Alias_Name_2’ सबक्वेरी के बीच एक संबंध बनाती है.
- ‘Alias_Name_1’ का इस्तेमाल एक ऐसा फ़ील्ड बनाने के लिए किया जाता है जो किसी प्रॉडक्ट के लिए रिकॉर्ड की गई हिट की कुल संख्या को जोड़ने के लिए एग्रीगेट फ़ंक्शन
SUM()
का इस्तेमाल करता है. - ‘Alias_Name_2’ का इस्तेमाल
COUNT()
फ़ंक्शन की मदद से, हर प्रॉडक्ट के लिए उपयोगकर्ताओं के हिट की संख्याओं का पता लगाने के लिए किया जाता है. - अंतिम लाइन, दोनों डेटासेट के जुड़ने पर उनके बीच शेयर होने वाली समान फ़ील्ड (
hits.item.productSku
) को दिखाती है.
यहां 10 सितंबर 2013 को, किसी खरीदारी से पहले उपयोगकर्ता इंटरैक्शन की औसत संख्या क्या है? क्वेरी का एक उदाहरण दिया गया है.
खरीदारी से पहले, 10 सितंबर 2013 को उपयोगकर्ता इंटरैक्शन की संख्या |
---|
SELECT one.hits.item.productSku AS ProductSku, ( sum_of_hit_number / total_hits ) AS avg_hit_number |
हर प्रॉडक्ट के बेचे गए स्टॉक का प्रतिशत
यह क्वेरी का एक उदाहरण है, जो न केवल Analytics डेटा पर निर्भर करता है, बल्कि गैर-Analytics डेटा पर भी निर्भर करता है. दोनों डेटा सेट को मिलाकर, उपयोगकर्ता व्यवहार को खास तौर से सेगमेंट लेवल पर समझा जा सकता है. आप गैर-Analytics डेटा को BigQuery में आयात कर सकते हैं, लेकिन ध्यान रखें कि इससे आपके मासिक डेटा संग्रहण शुल्क में वृद्धि होगी.
सवाल की आधारभूत स्क्रिप्ट नीचे दी गई है: हर प्रॉडक्ट के कितने प्रतिशत स्टॉक बेचे गए?
हर प्रॉडक्ट के बेचे गए स्टॉक का प्रतिशत |
---|
SELECT AnalyticsImport.product_data_20130728.productId, ((( one.quantity_sold ) / ( AnalyticsImport.product_data_20130728.productstock + one.quantity_sold )) * 100 ) AS percentage_of_stock_sold |
- पहली लाइन दो फ़ील्ड उपलब्ध कराती है: एक फ़ील्ड में सारे प्रॉडक्ट आईडी होते हैं. दूसरी, जो एक गणितीय ऑपरेशन है, वह उस प्रॉडक्ट आईडी के लिए बेचे गए स्टॉक का प्रतिशत दिखाती है.
- यह क्वेरी, दो डेटा सेट पर निर्भर करती है. इसलिए, आपको
join() ... ON
फ़ंक्शन का इस्तेमाल करना होगा. यह निर्देश उन दोनों में समान फ़ील्ड के आधार पर दोनों डेटा सेट से मिलने वाली पंक्तियां जोड़ देता है. इस मामले में, दो डेटा सेट हैं[ ‘Imported_DataSet’ ]
और‘Alias_Name’
. [ ‘Imported_DataSet’ ]
गैर-Analytics डेटा है. यह वह डेटा सेट है जिसमें बचे हुए स्टॉक के लिए मेट्रिक फ़ील्ड होती है (Imported DataSet.’stock_left_field’
) and the product-ID dimension field (Imported_DataSet.’productId_field’
).‘Alias_Name’
, ग्रे रंग की सबक्वेरी से मिले डेटा को असाइन किया गया नाम है. यह सबक्वेरी, प्रति प्रॉडक्ट के बेचे गए आइटम की कुल संख्या का पता लगाने के लिए Analytics डेटा का इस्तेमाल कर रही है.- अंतिम लाइन, दो डेटासेट के बीच की कॉमन फ़ील्ड और दो डेटा सेट के जुड़े होने की जगह को दिखाने के लिए
ON
स्टेटमेंट का इस्तेमाल करती है.
इस क्वेरी में कई वैरिएबल के डेटासेट का नाम, प्रीफ़िक्स के तौर पर जुड़ा है (उदाहरण के लिए, Imported_DataSet.’productId_field’, Alias_Name.quantity_sold
). इससे यह साफ़ होता है कि किस फ़ील्ड को चुना जा रहा है और वह किस डेटासेट से जुड़ा है.
यहां 28 जुलाई 2013 को हर प्रॉडक्ट के स्टॉक का कितना प्रतिशत बेचा गया था? क्वेरी का एक उदाहरण दिया गया है
28 जुलाई 2013 को हर प्रॉडक्ट के बेचे गए स्टॉक का प्रतिशत |
---|
SELECT AnalyticsImport.product_data_20130728.productId, ( ( ( one.quantity_sold ) / ( AnalyticsImport.product_data_20130728.productstock + one.quantity_sold ) ) * 100 ) AS percentage_of_stock_sold |
हर प्रॉडक्ट से होने वाला मुनाफ़ा
सवाल की बुनियादी स्क्रिप्ट नीचे दी गई है: हर प्रॉडक्ट से होने वाला मुनाफ़ा कितना है?
प्रॉडक्ट के हिसाब से मुनाफ़ा |
---|
SELECT Alias_Name.hits.item.productSku, ( Imported_DataSet.’product profit field’ * Alias_Name.quantity ) AS profit |
- पहली लाइन में हर प्रॉडक्ट से हुए कुल मुनाफ़े की गिनती के लिए, गणित के हिसाब से कार्रवाई शामिल होती है.
- ग्रे रंग की सबक्वेरी, Analytics के बाहर के डेटा का इस्तेमाल करती है, जो किसी प्रॉडक्ट की बिक्री से होने वाले मुनाफ़े के बारे में डेटा इकट्ठा करती है.
- लाल रंग की सबक्वेरी Analytics डेटा सबक्वेरी है, जिसे गैर-Analytics डेटा के साथ जोड़ा जाएगा. यह, हर प्रॉडक्ट के लिए बेचे गए आइटम की संख्या की गिनती करती है.
- आखिरी लाइन, दो डेटा सेट से शेयर की जाने वाली फ़ील्ड को साफ़ तौर पर बताने के लिए
ON
स्टेटमेंट का इस्तेमाल करती है. इस मामले में, यह प्रॉडक्ट आईडी नंबर है.
इस क्वेरी का उदाहरण नीचे दिया गया है कि 28 जुलाई 2013 को हर प्रॉडक्ट से होने वाला मुनाफ़ा कितना था?
प्रॉडक्ट के हिसाब से, 28 जुलाई 2013 को हुआ मुनाफ़ा |
---|
SELECT two.hits.item.productSku, ((AnalyticsImport.product_data_20130728.productprice-AnalyticsImport.product_data_20130728.productcost)*two.quantity) AS profit |
मुनाफ़े का पता लगाने के लिए, प्रॉडक्ट को कितने में बेचा गया और उसे बनाने में कितना खर्च हुआ, इसके अंतर का पता लगाया जाता है. यह जानकारी, Google Analytics के बाहर के डेटासेट पर सेव करके रखी जाती है.
हर प्रॉडक्ट से होने वाला असल मुनाफ़ा (रिफ़ंड को ध्यान में रखते हुए)
सवाल की बुनियादी स्क्रिप्ट नीचे दी गई है: हर प्रॉडक्ट से होने वाला असल मुनाफ़ा कितना है?
प्रॉडक्ट के हिसाब से असल मुनाफ़ा |
---|
SELECT Alias_Name.hits.item.productSku, (gross_profit-total_refund_revenue) AS real_profit |
- यह क्वेरी, इससे काफ़ी मिलती-जुलती है कि हर प्रॉडक्ट से होने वाला मुनाफ़ा कितना है? इसमें अंतर, Analytics के बाहर के डेटासेट वाली ग्रे रंग की सबक्वेरी और पहली लाइन में असल मुनाफ़े की गिनती करने के लिए गणित के हिसाब से कार्रवाई में है.
- Analytics के बाहर के डेटासेट में, रिफ़ंड पर खर्च की गई कुल रकम की भी गिनती की जा रही है (लाल रंग की सबक्वेरी के
SELECT
स्टेटमेंट में). - इसके बाद, अपने कुल मुनाफ़े से रिफ़ंड में हुए खर्च को घटाकर, पहली लाइन में असल मुनाफ़े की गिनती करने के लिए, गणित के हिसाब से कार्रवाई की जाती है.
क्वेरी के बारे में ज़्यादा जानकारी के लिए, कृपया हर प्रॉडक्ट से होने वाले मुनाफ़े से जुड़ा सेक्शन देखें.
यहां पर इस क्वेरी का उदाहरण दिया गया है कि 28 जुलाई 2013 को हर प्रॉडक्ट से होने वाला असल मुनाफ़ा कितना था?
प्रॉडक्ट के हिसाब से, 28 जुलाई 2013 को हुआ असल मुनाफ़ा |
---|
SELECT two.hits.item.productSku, (gross_profit-total_refund_revenue) AS real_profit |
असल मुनाफ़े का पता लगाने के लिए पहले उन प्रॉडक्ट पर विचार किया जाता है जिनके लिए रिफ़ंड किया गया था. इसके बाद ही यह पता लगाया जा सकता है कि किसी प्रॉडक्ट से कितना मुनाफ़ा होगा. प्रॉडक्ट के लिए, रिफ़ंड से हुई कुल आय की गणना करने के लिए:
प्रॉडक्ट के लिए, रिफ़ंड से हुई कुल आय = ( प्रॉडक्ट की कीमत + प्रॉडक्ट का रिफ़ंड) * रिफ़ंड किए गए प्रॉडक्ट की संख्या