शामिल होता है SAP HANA: प्रकार, सिंटैक्स और उदाहरण

⚡ स्मार्ट सारांश

SAP HANA, टेबल और सूचना दृश्यों को आपस में जोड़ता है ताकि मॉडल रिपोर्ट के लिए आवश्यक पंक्तियों को सटीक रूप से लौटा सके। आंतरिक, बाहरी, संदर्भ, पाठ, लौकिक और स्थानिक प्रकार प्रत्येक प्रदर्शन, कार्डिनैलिटी हैंडलिंग और परिणाम आकार को प्रभावित करते हैं।

  • 🔗 दायरा: जॉइन फ़ंक्शन ग्राफ़िकल मॉडल के अंदर और डेटाबेस पर सामान्य SQL स्टेटमेंट के अंदर मौजूद टेबल और सूचना दृश्यों को आपस में जोड़ता है।
  • मानक प्रकार: इनर, लेफ्ट आउटर, राइट आउटर और फुल आउटर जॉइन ठीक उसी तरह व्यवहार करते हैं जैसे वे एएनएसआई एसक्यूएल में करते हैं।
  • केवल मॉडलिंग प्रकार: रेफरेंशियल और टेक्स्ट जॉइन केवल सूचना दृश्यों के भीतर ही मौजूद होते हैं और इनका कोई SQL कीवर्ड समकक्ष नहीं होता है।
  • 🧪 उन्नत नोड्स: टेम्पोरल, स्पेशल, डायनामिक और स्टार जॉइन सरल कॉलम मिलान से परे गणना के दृष्टिकोण का विस्तार करते हैं।
  • प्रदर्शन को प्रभावित करने वाले कारक: कार्डिनैलिटी और ऑप्टिमाइज़ जॉइन कॉलम्स फ़्लैग यह तय करते हैं कि SAP HANA रनटाइम पर किसी टेबल को प्रून कर सकता है।
  • 📈 आधुनिकीकरण: एट्रिब्यूट और एनालिटिक व्यू अप्रचलित हो चुके हैं, इसलिए नए जॉइन ग्राफिकल कैलकुलेशन व्यू में होने चाहिए।

तालिकाओं और सूचना दृश्यों को संयोजित करने के लिए उपयोग किए जाने वाले जॉइन प्रकार SAP HANA

एचएमबी क्या है? SAP हाना शामिल हों?

एक में शामिल हों SAP HANA दो या दो से अधिक तालिकाओं से, या किसी तालिका और सूचना दृश्य से पंक्तियों को संयोजित करता है, और क्वेरी द्वारा आवश्यक मान लौटाता है। जॉइन को सूचना दृश्य के जॉइन नोड में ग्राफ़िक रूप से परिभाषित किया जाता है, और इन्हें डेटाबेस पर चलने वाले SQL कथनों में सीधे भी लिखा जाता है।

दोनों रूप एक जैसे नहीं हैं। एक जोड़ के अंदर एक गणना दृश्य द्वारा निष्पादित किया जाता है SAP HANA कैलकुलेशन इंजन, जो किसी टेबल से अनुरोधित कॉलम न मिलने पर उसे छोड़ सकता है, जबकि एक जॉइन जो लिखा गया है SAP हाना एसक्यूएल इसे हमेशा ठीक उसी तरह निष्पादित किया जाता है जैसा कि कोड में लिखा गया है।

निम्नलिखित प्रकार के जॉइन उपलब्ध हैं SAP HANA टेबल और सूचना व्यू को संयोजित किया गया है।

जॉइन टाइप का उपयोग करता है टिप्पणी
अंदरूनी इनर जॉइन उन रिकॉर्ड्स के समूह का चयन करता है जो दोनों तालिकाओं में मेल खाते हैं। दोनों ओर कोई साथी न होने वाली पंक्तियों को हटा दिया जाता है।
बाईं ओर का बाहरी जोड़ लेफ्ट आउटर जॉइन पहले टेबल से रिकॉर्ड का पूरा सेट चुनता है, और दूसरे टेबल से मिलान करने वाला रिकॉर्ड चुनता है, यदि ऐसा कोई रिकॉर्ड उपलब्ध हो। यदि दूसरी तालिका में कोई मिलान नहीं मिलता है, तो उसके स्तंभों के लिए शून्य मान लौटाए जाते हैं।
दायां बाहरी जॉइन राइट आउटर जॉइन दूसरे टेबल से रिकॉर्ड का पूरा सेट चुनता है, साथ ही पहले टेबल से मिलान करने वाला रिकॉर्ड भी चुनता है, यदि ऐसा कोई रिकॉर्ड उपलब्ध हो। यदि पहली तालिका में कोई मिलान नहीं मिलता है, तो उसके स्तंभों के लिए शून्य मान लौटाए जाते हैं।
पूर्ण बाहरी शामिल हों फुल आउटर जॉइन दोनों टेबल से सभी रिकॉर्ड का चयन करता है। दोनों ओर से बेमेल पंक्तियों को शून्य मानों से भरा जाता है।
संदर्भात्मक जुड़ाव यह एक इनर जॉइन की तरह व्यवहार करता है, इस धारणा पर कि दोनों तालिकाओं के बीच संदर्भ अखंडता बनी रहती है। एट्रिब्यूट व्यू, एनालिटिक व्यू और कैलकुलेशन व्यू जॉइन नोड्स में उपलब्ध है।
पाठ जोड़ें टेक्स्ट जॉइन, टेक्स्ट टेबल के भाषा कॉलम का उपयोग करके, किसी कुंजी से संबंधित भाषा-विशिष्ट विवरण का चयन करता है। भाषा कॉलम, जिसे आमतौर पर SPRAS कहा जाता है, को जॉइन प्रॉपर्टीज़ में चिह्नित किया जाना चाहिए।

रेफरेंशियल और टेक्स्ट जॉइन केवल मॉडलिंग प्रकार हैं। वे एक सूचना दृश्य के जॉइन नोड में मौजूद होते हैं और SQL में उनका कोई समकक्ष कीवर्ड नहीं है, इसलिए वे दिखाई देते हैं। SAP हाना मॉडलिंग SELECT स्टेटमेंट के बजाय टूल्स का उपयोग करें।

SAP HANA जॉइन सिंटैक्स और SQL उदाहरण

आंतरिक और बाहरी जोड़ इस प्रकार लिखे जाते हैं SAP HANA SQL मानक ANSI सिंटैक्स का उपयोग करता है, इसलिए किसी अन्य रिलेशनल डेटाबेस पर परीक्षण की गई क्वेरी आमतौर पर बिना किसी बदलाव के चलती है। नीचे दिया गया उदाहरण सेल्स ऑर्डर टेबल को कस्टमर टेबल से और फिर स्टेट टेबल से जोड़ता है।

SELECT so.ORDER_ID, c.NAME, s.STATE_NAME, so.AMOUNT
FROM SALES_ORDER AS so
INNER JOIN CUSTOMER AS c
  ON so.CUSTOMER_ID = c.CUSTOMER_ID
LEFT OUTER JOIN STATE AS s
  ON c.STATE_CODE = s.STATE_CODE
WHERE so.AMOUNT > 1000
ORDER BY so.ORDER_ID;

इनर जॉइन उन सभी सेल्स ऑर्डर को हटा देता है जिनका कस्टमर मास्टर रिकॉर्ड मौजूद नहीं है। लेफ्ट आउटर जॉइन बचे हुए सभी ऑर्डर को रखता है, भले ही स्टेट कोड का कोई विवरण न हो, और उन पंक्तियों के लिए नल स्टेट नाम लौटाता है। स्वैपping इसलिए, दोनों प्रकार के जॉइन करने से न केवल प्रदर्शित कॉलम की संख्या बदलती है, बल्कि पंक्तियों की संख्या भी बदल जाती है।

ग्राफ़िकल मॉडल SQL के बिना भी वही परिणाम प्राप्त करते हैं। व्यू एडिटर में दो डेटा स्रोतों के बीच एक जॉइन नोड रखा जाता है, जॉइन कंडीशन बनाने वाले कॉलम मैप किए जाते हैं, और नोड प्रॉपर्टीज़ में जॉइन टाइप और कार्डिनैलिटी सेट की जाती है। SAP हाना स्टूडियो एडिटर और ब्राउज़र-आधारित मॉडलर दोनों ही उन सेटिंग्स से रनटाइम SQL उत्पन्न करते हैं।

एडवांस्ड जॉइन टाइप्स में SAP हाना गणना दृश्य

कैलकुलेशन व्यू में जॉइन व्यवहार शामिल होता है जिसे सामान्य SQL एक कीवर्ड में व्यक्त नहीं कर पाता। इन विकल्पों को जॉइन नोड पर या किसी समर्पित नोड प्रकार के माध्यम से कॉन्फ़िगर किया जाता है।

जॉइन टाइप यह क्या करता है विशिष्ट उपयोग
अस्थायी जुड़ाव यह मास्टर डेटा स्रोत के 'फ्रॉम' और 'टू' फ़ील्ड का उपयोग करके, किसी दी गई तिथि पर मान्य मास्टर डेटा संस्करण के साथ लेनदेन रिकॉर्ड का मिलान करता है। समय पर निर्भर मास्टर डेटा, जैसे कि कोई लागत केंद्र जिसका मालिक बदल गया हो। जॉइन प्रकार रेफरेंशियल होना चाहिए और कुंजी एक तिथि, टाइमस्टैम्प या पूर्णांक होनी चाहिए।
स्थानिक जुड़ाव यह दो स्रोतों को एक ज्यामितीय स्तंभ पर स्थानिक विधेय जैसे कि प्रतिच्छेद या भीतर, के साथ जोड़ता है, न कि समानता की स्थिति के आधार पर। उदाहरण के लिए, भौगोलिक विश्लेषण, जैसे कि ग्राहकों के स्थानों का बिक्री क्षेत्रों से मिलान करना।
डायनामिक जॉइन यह क्वेरी द्वारा वास्तव में अनुरोधित जॉइन कॉलम से रनटाइम पर जॉइन कंडीशन बनाता है, और जॉइन निष्पादित होने से पहले शेष कॉलम को एकत्रित करता है। बहु-स्तंभ संयोजन जहां क्वेरी की बारीकी भिन्न होती है। कम से कम एक संयोजन स्तंभ का अनुरोध किया जाना चाहिए, अन्यथा क्वेरी विफल हो जाएगी।
स्टार जॉइन यह एक ही नोड में एक तथ्य स्रोत को कई आयाम गणना दृश्यों से जोड़ता है। स्टार स्कीमा मॉडल जो पुराने विश्लेषणात्मक दृष्टिकोण का स्थान लेते हैं।

डायनामिक जॉइन मिलान नियम को बदलने के बजाय संचालन के क्रम को बदलता है। स्टैटिक जॉइन में, प्रत्येक परिभाषित कॉलम शर्त में भाग लेता है और उसके बाद एग्रीगेशन होता है; डायनामिक जॉइन में, पहले उन कॉलमों को एग्रीगेट किया जाता है जिनकी आवश्यकता नहीं होती है, जिससे आमतौर पर कम पंक्तियाँ और एक अलग कुल योग प्राप्त होता है। इसलिए, ये दोनों अलग-अलग व्यावसायिक प्रश्नों का उत्तर देते हैं, इसीलिए यह फ़्लैग जानबूझकर सेट किया जाता है, न कि सामान्य अनुकूलन के रूप में।

सही जॉइन टाइप का चुनाव कैसे करें SAP हाना मॉडलिंग

जॉइन का चयन शुद्धता और रनटाइम दोनों को प्रभावित करता है, और सबसे तेज़ जॉइन वही होता है जो सबसे अच्छा विकल्प हो। SAP HANA को कभी भी निष्पादित करने की आवश्यकता नहीं होती है। निम्नलिखित नियम अधिकांश मॉडलिंग निर्णयों को कवर करते हैं।

  • रेफरेंशियल जॉइन इसका उपयोग तभी करें जब एक तरफ की प्रत्येक पंक्ति का एक साथी होना सुनिश्चित हो, क्योंकि इंजन जॉइन को पूरी तरह से छोड़ सकता है यदि जॉइन की गई तालिका से कोई कॉलम अनुरोधित नहीं किया जाता है।
  • आंतरिक रूप से जुड़ा इसका उपयोग तब करें जब संदर्भ अखंडता की गारंटी न हो और बेमेल पंक्तियों को बाहर करना आवश्यक हो।
  • बाईं ओर का बाहरी जोड़ — इसका उपयोग तब करें जब पहली तालिका परिणाम निर्धारित करती हो और अनुपलब्ध मास्टर डेटा अभी भी प्रदर्शित होना आवश्यक हो।
  • पूर्ण बाहरी जुड़ाव इसका इस्तेमाल सोच-समझकर करें, क्योंकि यह सबसे महंगा विकल्प है और रिपोर्टिंग मॉडल में इसकी शायद ही कभी आवश्यकता होती है।
  • टेक्स्ट जॉइन — इसका उपयोग तब करें जब विवरण कॉलम लॉगिन भाषा पर निर्भर करता हो।

दो नोड प्रॉपर्टीज़ जॉइन टाइप जितनी ही महत्वपूर्ण हैं। कार्डिनैलिटी (1:1, 1:n, n:1 या n:m) इंजन को बताती है कि प्रत्येक पक्ष में कितनी पंक्तियों की अपेक्षा करनी है, और प्रपोज़ कार्डिनैलिटी फ़ंक्शन इसे डेटा से प्राप्त करता है। ऑप्टिमाइज़ जॉइन कॉलम्स फ़्लैग फिर अनुमति देता है SAP HANA, क्वेरी द्वारा अनुरोध न किए जाने पर निष्पादन योजना से जॉइन कॉलम को हटा देता है। गलत कार्डिनैलिटी से मापों की संख्या चुपचाप बढ़ सकती है, इसलिए इसे अनुमान लगाने के बजाय डेटा के आधार पर सत्यापित किया जाता है।

एक और बाधा नए विकास को प्रभावित करती है। एट्रीब्यूट व्यू और एनालिटिक व्यू अप्रचलित हो चुके हैं, और SAP इन्हें ग्राफ़िकल गणना दृश्यों में परिवर्तित करने की अनुशंसा की जाती है, इसलिए आज डिज़ाइन किया गया एक जॉइन आमतौर पर गणना दृश्य जॉइन या स्टार जॉइन नोड में बनाया जाता है। मौजूदा मॉडल को बनाए रखने के दौरान पुराने ऑब्जेक्ट्स की पृष्ठभूमि अभी भी उपयोगी है, और विशेषता दृश्य और विश्लेषणात्मक दृष्टिकोण इन पृष्ठों में बताया गया है कि उन जोड़ों को कैसे कॉन्फ़िगर किया गया था। SAP शिक्षण सामग्री नोड्स को जोड़ें इसमें समान व्यवहार शामिल है SAP हाना क्लाउड, और व्यापक SAP HANA ट्यूटोरियल यह श्रृंखला बताती है कि प्लेटफॉर्म में सूचना संबंधी दृष्टिकोण कहाँ फिट होते हैं।

अक्सर पूछे जाने वाले प्रश्न

कार्डिनैलिटी (1:1, 1:n, n:1, n:m) इंजन को बताती है कि प्रत्येक पक्ष में कितनी मिलान वाली पंक्तियों की अपेक्षा करनी है। यह जॉइन प्रूनिंग को सक्षम बनाता है और एग्रीगेट्स की सुरक्षा करता है। प्रपोज़ कार्डिनैलिटी डेटा से सेटिंग प्राप्त करती है, जो अनुमान लगाने की तुलना में अधिक सुरक्षित है।

यह देता है SAP जब क्लाइंट क्वेरी कभी भी जॉइन कॉलम का अनुरोध नहीं करती है, तो HANA उसे निष्पादन योजना से हटा देता है। कम कॉलम का मतलब है कम समूह।pingइससे रनटाइम तेज हो जाता है, लेकिन यदि हटाए गए कॉलम ने एग्रीगेशन स्तर को प्रभावित किया है तो परिणाम बदल सकते हैं।

मौजूदा ऑब्जेक्ट अभी भी चलते हैं, लेकिन दोनों प्रकार के व्यू अप्रचलित हैं और उन्हें नए गणना व्यू में नहीं जोड़ा जा सकता है। SAP उन्हें ग्राफिकल गणना दृश्यों में परिवर्तित करने की अनुशंसा की जाती है, जहां समान जॉइन प्रकारों के अलावा स्टार जॉइन और स्थानिक जॉइन भी उपलब्ध होते हैं।

इसमें दोनों पक्षों से बेमेल पंक्तियों को रखना आवश्यक है, इसलिए किसी भी तालिका को छाँटा नहीं जा सकता और प्रत्येक पंक्ति को शामिल किया जाता है। इसके विपरीत, रेफरेंशियल जॉइन को पूरी तरह से छोड़ा जा सकता है जब क्वेरी जॉइन की गई तालिका से किसी कॉलम का अनुरोध नहीं करती है।

टेक्स्ट टेबल का भाषा कॉलम, सामान्यतः SPRAS में SAP टेबल को जॉइन प्रॉपर्टीज में चिह्नित किया गया है। SAP इसके बाद HANA सत्र की भाषा के आधार पर विवरणों को फ़िल्टर करता है, जिससे एक ही मॉडल बिना किसी अलग व्यू के सभी लॉगिन भाषाओं को सेवा प्रदान करता है।

जी हां। एक जॉइन नोड डेटा स्रोत के रूप में टेबल, टेबल फ़ंक्शन और अन्य गणना दृश्य स्वीकार करता है, इसी तरह डाइमेंशन व्यू को फ़ैक्ट टेबल से जोड़ा जाता है। कॉलम के नाम भिन्न हो सकते हैं, क्योंकि जॉइन कंडीशन कॉलम को स्पष्ट रूप से मैप करती है।

मशीन लर्निंग, कॉलम मानों का विश्लेषण करके जॉइन कुंजी और कार्डिनैलिटी का सुझाव देती है, उन मॉडलों को चिह्नित करती है जिनके माप जॉइन के बाद बढ़ जाते हैं, और लगभग समान दृश्यों को क्लस्टर करती है। SAP यह प्लेटफॉर्म भविष्यसूचक और जनरेटिव सेवाओं को भी एकीकृत करता है, जिससे स्कोरिंग मॉडल किए गए डेटा के साथ-साथ चलती है।

कोपायलट मानक SQL जॉइन को कुशलतापूर्वक तैयार करता है और बार-बार दोहराए जाने वाले SELECT स्टेटमेंट्स की गति बढ़ाता है। यह स्कीमा की रेफरेंशियल इंटीग्रिटी को नहीं जानता, इसलिए जॉइन टाइप, कार्डिनैलिटी और मॉडलिंग-ओनली विकल्प जैसे टेक्स्ट जॉइन को वास्तविक डेटा के आधार पर समीक्षा की आवश्यकता होती है।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: