शामिल होता है 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 ट्यूटोरियल यह श्रृंखला बताती है कि प्लेटफॉर्म में सूचना संबंधी दृष्टिकोण कहाँ फिट होते हैं।
