बहुभिन्नरूपी विश्लेषण का परिचय

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

अब इस परिचय को पब्लिक डोमेन में फैलाएं।

ओएलएपी, बिजनेस इंटेलिजेंस और डेटा वेयरहाउस की अवधारणाएं कुछ भ्रमित हैं, लेकिन जीवन में यह समझना अक्सर मुश्किल होता है कि सीमा कहां जाती है। और वास्तविक परियोजनाओं में, सभी और अधिक, वे सभी साथ-साथ चलते हैं। इसलिए, कृपया कड़ाई से न्याय न करें।



परिचय


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

डेटा वेयरहाउस क्या है?


आमतौर पर विश्लेषणात्मक मूल्य की सभी जानकारी एकत्र करने का एक स्थान। ऐसी रिपॉजिटरी की आवश्यकताएं क्लासिक ओएलएपी परिभाषा को पूरा करती हैं, नीचे समझाया जाएगा।

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

एक विशिष्ट डेटा वेयरहाउस आमतौर पर एक नियमित रिलेशनल डेटाबेस से अलग होता है। सबसे पहले, नियमित डेटाबेस को उपयोगकर्ताओं को अपने दैनिक कार्य करने में मदद करने के लिए डिज़ाइन किया गया है, जबकि डेटा वेयरहाउस को निर्णय लेने के लिए डिज़ाइन किया गया है। उदाहरण के लिए, माल की बिक्री और बिलिंग, प्रसंस्करण लेनदेन के लिए डिज़ाइन किए गए डेटाबेस और कई वर्षों में बिक्री की गतिशीलता के विश्लेषण का उपयोग करके किया जाता है, जिससे आप आपूर्तिकर्ताओं के साथ काम की योजना बना सकते हैं, डेटा वेयरहाउस का उपयोग कर सकते हैं।

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

और तीसरा, नियमित डेटाबेस अक्सर डेटा का स्रोत रिपॉजिटरी में आते हैं। इसके अलावा, भंडारण को बाहरी स्रोतों द्वारा फिर से भरा जा सकता है, जैसे कि सांख्यिकीय रिपोर्ट।

स्टोरेज कैसे बनाया जाता है?


ईटीएल - मूल अवधारणा: निष्कर्षण, परिवर्तन, लोड हो रहा है। तीन चरण:

हम एक और कदम जोड़ते हैं - सफाई (डेटा) - सांख्यिकीय या विशेषज्ञ विधियों के आधार पर गैर-आवश्यक या गलत डेटा को सही करने की प्रक्रिया। आदेश में "20011 के लिए बिक्री" जैसी बाद की रिपोर्ट उत्पन्न नहीं करने के लिए।

विश्लेषण पर वापस।

विश्लेषण क्या है और इसके लिए क्या है?


विश्लेषण - निर्णय लेने के लिए डेटा का अध्ययन। विश्लेषणात्मक प्रणालियों को कहा जाता है - निर्णय समर्थन प्रणाली ( डीएसएस )।

यहाँ यह डीएसएस के साथ काम करने के बीच के अंतर को विनियमित और अनियमित रिपोर्ट के एक सरल सेट से इंगित करने योग्य है। DSS में विश्लेषण लगभग हमेशा संवादात्मक और पुनरावृत्त होता है। यानी विश्लेषक विश्लेषणात्मक प्रश्नों को संकलित और समायोजित करता है, और रिपोर्ट प्राप्त करता है, जिसकी संरचना पहले से ज्ञात नहीं हो सकती है। जब हम MDX क्वेरी भाषा पर चर्चा करते हैं, तो हम नीचे और अधिक विस्तार से इस पर लौटेंगे।

OLAP


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

जटिल बहुभिन्नरूपी डेटा विश्लेषण की तकनीक को ओएलएपी (ऑन-लाइन विश्लेषणात्मक प्रसंस्करण) कहा जाता है। OLAP पारंपरिक डेटा वेयरहाउस के आयोजन का एक प्रमुख घटक है। ओएलएपी अवधारणा को 1993 में एडगर कोडड , एक प्रसिद्ध डेटाबेस शोधकर्ता और एक संबंधपरक डेटा मॉडल के लेखक द्वारा वर्णित किया गया था। 1995 में, Codd द्वारा निर्धारित आवश्यकताओं के आधार पर, तथाकथित FASMI परीक्षण (साझा विश्लेषण की तीव्र विश्लेषण) तैयार किया गया था, जिसमें बहुभिन्नरूपी विश्लेषण के लिए आवेदन के लिए निम्नलिखित आवश्यकताएं शामिल हैं:

यह ध्यान दिया जाना चाहिए कि ओएलएपी-कार्यक्षमता को विभिन्न तरीकों से लागू किया जा सकता है, कार्यालय अनुप्रयोगों में डेटा विश्लेषण के सरलतम साधनों से शुरू होता है और सर्वर उत्पादों पर आधारित वितरित विश्लेषणात्मक प्रणालियों के साथ समाप्त होता है। यानी OLAP एक तकनीक नहीं है, बल्कि एक विचारधारा है

इससे पहले कि हम विभिन्न OLAP कार्यान्वयनों के बारे में बात करते हैं, आइए तार्किक दृष्टिकोण से क्यूब्स पर एक नज़र डालें।

बहुआयामी अवधारणाएँ


हम नॉर्थविंड डेटाबेस का उपयोग करेंगे, जो Microsoft SQL सर्वर वितरण किट में शामिल है और एक विशिष्ट डेटाबेस है जो OLAP सिद्धांतों को दर्शाने के लिए एक थोक खाद्य आपूर्ति कंपनी के व्यापारिक संचालन के बारे में जानकारी संग्रहीत करता है। इस तरह के डेटा में आपूर्तिकर्ताओं, ग्राहकों, वितरित सामानों की सूची और उनकी श्रेणियों, ऑर्डर पर डेटा और ऑर्डर किए गए सामान, कंपनी के कर्मचारियों की एक सूची के बारे में जानकारी शामिल है।

घनक्षेत्र


उदाहरण के लिए टेबल इनवॉइस 1 लें, जिसमें कंपनी के आदेश हैं। इस तालिका के क्षेत्र निम्नानुसार होंगे:

इस दृश्य के आधार पर हम कौन सा कुल डेटा प्राप्त कर सकते हैं? आमतौर पर ये सवालों के जवाब हैं:
यह सभी डेटा काफी स्पष्ट समूहीकृत एसक्यूएल प्रश्नों के साथ इस तालिका से प्राप्त किया जा सकता है।

इस क्वेरी का परिणाम हमेशा संख्याओं का एक कॉलम होगा और इसका वर्णन करने वाली विशेषताओं की एक सूची (उदाहरण के लिए, एक देश) - यह एक आयामी डेटा सेट या, गणितीय भाषा में, एक वेक्टर है।

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

यदि हम समान डेटा प्राप्त करना चाहते हैं, लेकिन अभी भी वर्षों के संदर्भ में, तो एक और परिवर्तन दिखाई देगा, अर्थात्। डेटा सेट त्रि-आयामी (3 डी ऑर्डर या 3-आयामी "क्यूब" का सशर्त टेंसर) बन जाएगा।

जाहिर है, माप की अधिकतम संख्या सभी विशेषताओं (दिनांक, देश, ग्राहक, आदि) की संख्या है जो हमारे एकत्रित डेटा (ऑर्डर राशि, माल की मात्रा, आदि) का वर्णन करती है।

इसलिए हम बहुआयामी और इसके अवतार की अवधारणा पर आते हैं - एक बहुआयामी घन । ऐसी तालिका को " तथ्य तालिका " कहा जाएगा। घन के आयाम या अक्ष ( आयाम ) ऐसे गुण हैं जिनके निर्देशांक इन विशेषताओं के व्यक्तिगत मूल्यों द्वारा व्यक्त किए जाते हैं जो तथ्य तालिका में मौजूद हैं। यानी उदाहरण के लिए, यदि 2003 से 2010 तक सिस्टम में ऑर्डर की जानकारी रखी गई थी, तो वर्षों की इस धुरी में 8 संगत अंक होंगे। यदि आदेश तीन देशों से आते हैं, तो देश अक्ष में 3 अंक होंगे। चाहे देश कितने ही देशों की निर्देशिका में शामिल हो। किसी अक्ष पर स्थित बिंदुओं को "सदस्य" कहा जाता है।

इस मामले में एकत्रित डेटा को "उपाय" ( उपाय ) कहा जाएगा। "माप" के साथ भ्रम से बचने के लिए, बाद वाले "कुल्हाड़ियों" को कॉल करना बेहतर होता है। उपायों का सेट "उपाय" ( उपाय ) का एक और अक्ष बनाता है। यह तथ्य तालिका में उपायों (कुल स्तंभों) के रूप में कई सदस्य (अंक) हैं।

आयाम या कुल्हाड़ियों के सदस्य एक या कई पदानुक्रम ( पदानुक्रम ) द्वारा एकजुट हो सकते हैं। एक पदानुक्रम क्या है, उदाहरण के लिए बताएं: आदेशों से शहरों को एक क्षेत्र, एक क्षेत्र, एक देश, एक महाद्वीप में देश, या अन्य इकाई में क्षेत्रों में जोड़ा जा सकता है। यानी एक पदानुक्रमित संरचना है - महाद्वीप -देश-क्षेत्र-जिला-शहर - 5 स्तर ( स्तर )। जिले के लिए, उन सभी शहरों के लिए डेटा एकत्र किया जाता है जो इसमें शामिल हैं। सभी क्षेत्रों में इस क्षेत्र के लिए जिसमें सभी शहर शामिल हैं, आदि। आपको कई पदानुक्रमों की आवश्यकता क्यों है? उदाहरण के लिए, एक ऑर्डर की तारीख के साथ एक अक्ष पर, हम पदानुक्रम वर्ष-महीना-दिन या वर्ष-सप्ताह-दिन के अनुसार समूह बिंदु (यानी दिन) चाहते हैं: दोनों मामलों में, तीन स्तर हैं। जाहिर है, वीक एंड मंथ के दिन अलग-अलग होते हैं। पदानुक्रम भी हैं, जिनमें स्तरों की संख्या निर्धारित नहीं है और डेटा पर निर्भर करती है। उदाहरण के लिए, कंप्यूटर डिस्क पर फ़ोल्डर्स।

डेटा का एकत्रीकरण कई मानक कार्यों का उपयोग करके हो सकता है: योग, न्यूनतम, अधिकतम, औसत, मात्रा।

MDX


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

हम इस पर विस्तार से विचार करेंगे क्योंकि यह एकमात्र भाषा है जिसे सामान्य XMLA प्रोटोकॉल मानक के ढांचे के भीतर एक मानक भाषा का दर्जा प्राप्त है, और दूसरी बात यह है कि पेंटाहो- आधारित मोंड्रियन परियोजना के रूप में इसका खुला स्रोत कार्यान्वयन है। अन्य OLAP विश्लेषण प्रणाली (उदाहरण के लिए, Oracle OLAP विकल्प) आमतौर पर अपने SQL सिंटैक्स एक्सटेंशन का उपयोग करते हैं, हालांकि, वे MDX के लिए समर्थन भी घोषित करते हैं।

विश्लेषणात्मक डेटा सरणियों के साथ काम करने का तात्पर्य केवल उन्हें पढ़ना है और इसका मतलब यह नहीं है कि वे लेखन नहीं करते हैं। इस प्रकार एमडीएक्स में डेटा बदलने के लिए कोई वाक्य नहीं हैं, लेकिन केवल एक चयन क्लॉज है - चयन करें।

OLAP में, आप बहुआयामी क्यूब्स से स्लाइस बना सकते हैं - अर्थात जब डेटा को एक या कई कुल्हाड़ियों, या अनुमानों के साथ फ़िल्टर किया जाता है - जब एक क्यूब एक या कई कुल्हाड़ियों के साथ "ढह जाता है", डेटा एकत्र करता है। उदाहरण के लिए, देशों से आदेशों के योग के साथ हमारा पहला उदाहरण देश की धुरी पर एक घन का प्रक्षेपण है। इस मामले के लिए MDX अनुरोध इस तरह दिखेगा:

select [Territory].[Cities by Countries].[All].Children on rows from [invoices1] 

यहाँ क्या है?

चयन एक कीवर्ड है और इसे केवल सौंदर्य के लिए वाक्य रचना में शामिल किया गया है।
[क्षेत्र] अक्ष का नाम है। MDX में सभी उचित नाम वर्ग कोष्ठक में लिखे गए हैं।
[देशों द्वारा शहर] पदानुक्रम का नाम है। हमारे मामले में, यह देश-शहर पदानुक्रम है
[सभी] पदानुक्रम (यानी, देश) के पहले स्तर पर एक अक्ष सदस्य का नाम है। सभी एक मेटा-सदस्य है जो अक्ष के सभी सदस्यों को जोड़ता है। ऐसा मेटा-टर्म प्रत्येक अक्ष में होता है। उदाहरण के लिए, वर्षों की धुरी "सभी वर्ष" है, आदि।
बच्चे एक सदस्य समारोह है। प्रत्येक सदस्य के पास कई कार्य उपलब्ध हैं। जैसे कि माता-पिता। स्तर, पदानुक्रम, क्रमशः पूर्वज लौटते हुए, पदानुक्रम में स्तर और स्वयं पदानुक्रम, जिसके लिए सदस्य इस मामले में संदर्भित करता है। बच्चे - इस सदस्य के वंशज सदस्यों का एक सेट लौटाते हैं। यानी हमारे मामले में, देशों।
पंक्तियों पर - यह दर्शाता है कि सारांश तालिका में इस डेटा को कैसे व्यवस्थित किया जाए। इस स्थिति में, पंक्ति शीर्षलेख में। संभावित मान हैं: स्तंभों पर, पृष्ठों पर, अनुच्छेदों पर, आदि। यह केवल 0 से शुरू होने वाले इंडेक्स द्वारा इंगित करना भी संभव है।
से [invoices1] घन का एक संकेत है जिसमें से चयन किया जाता है।

क्या होगा यदि हमें सभी देशों की आवश्यकता नहीं है, लेकिन केवल कुछ विशिष्ट लोगों की आवश्यकता है? ऐसा करने के लिए, आप स्पष्ट रूप से उन देशों को निर्दिष्ट कर सकते हैं जिन्हें हमें अनुरोध की आवश्यकता है, और सभी बच्चों के फ़ंक्शन का चयन न करें।

 select { [Territory].[Cities by Countries].[All].[Russia], [Territory].[Cities by Countries].[All].[Ukrain] } on rows from [invoices1] 

इस मामले में घुंघराले ब्रेसिज़ सेट की घोषणा हैं। एक सेट एक सूची है, एक अक्ष से सदस्यों की एक गणना है।

अब हम अपने दूसरे उदाहरण के लिए एक अनुरोध लिखेंगे - प्रदाता के संदर्भ में आउटपुट:

 select [Territory].[Cities by Countries].[All].Children on rows [Shipper].Members on columns from [invoices1] 

यहाँ जोड़ा गया:
[शिपर] - अक्ष;
। मेमर्स एक ऐक्सिस फंक्शन है जो उस पर सभी सदस्यों को वापस करता है। पदानुक्रम और स्तर का एक ही कार्य है। क्योंकि इस अक्ष में एक पदानुक्रम है, तो इसके संकेत को छोड़ा जा सकता है, क्योंकि स्तर और पदानुक्रम भी एक है, तो आप सभी सदस्यों को एक सूची में प्रदर्शित कर सकते हैं।

मुझे लगता है कि यह पहले से ही स्पष्ट है कि हम अपने तीसरे उदाहरण के साथ इसे कैसे जारी रख सकते हैं, वर्षों के विवरण के साथ। लेकिन चलो बेहतर है कि वर्ष तक ड्रिल न करें, लेकिन फ़िल्टर करें - i.e. एक स्लाइस बनाने के लिए। ऐसा करने के लिए, निम्नलिखित प्रश्न लिखें:

 select [Territory.Cities by Countries].[All].Children on rows [Shipper].Members on columns from [invoices1] where ([Date].[2007]) 

और फ़िल्टरिंग कहाँ है?

कहाँ - कीवर्ड
[२०० is ] पदानुक्रम [दिनांक] का एक सदस्य है। सभी शर्तों के साथ एक पूरा नाम होगा: [दिनांक। महीने।]। [सभी तिथियाँ]। [2007] लेकिन तब से अक्ष के भीतर इस सदस्य का नाम अद्वितीय है, तो नाम के सभी मध्यवर्ती शोधन को छोड़ा जा सकता है।

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

एक टपल केवल फ़िल्टरिंग के लिए उपयोग नहीं किया जाता है। टुपल्स पंक्तियों / स्तंभों / पृष्ठों आदि के शीर्षकों में भी हो सकते हैं।

यह आवश्यक है, उदाहरण के लिए, दो-आयामी तालिका में तीन-आयामी क्वेरी के परिणाम को प्रदर्शित करने के लिए।

 select crossjoin( [Territory].[Cities by Countries].[All].Children, [Date.By months].[All dates].Children ) on rows [Shipper].Members on columns from [invoices1] where ([Date].[2007]) 

क्रॉसजॉइन एक विशेषता है। यह टुपल्स का एक सेट (सेट) देता है (हाँ, एक सेट में टुपल्स हो सकता है!), दो सेट के कार्टेशियन उत्पाद के परिणामस्वरूप प्राप्त होता है। यानी परिणाम सेट में देश और वर्ष के सभी संभावित संयोजन शामिल होंगे। पंक्ति शीर्षलेखों में इस प्रकार मानों की एक जोड़ी होगी: देश-वर्ष

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

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

परिकलित सदस्य


अधिक जटिल प्रश्नों के लिए, आप गणना किए गए सदस्यों की घोषणा कर सकते हैं। दोनों विशेषता अक्षों के सदस्य और अक्षों को मापते हैं। यानी आप घोषणा कर सकते हैं, उदाहरण के लिए, एक नया उपाय जो आदेशों की कुल राशि के लिए प्रत्येक देश के योगदान को प्रतिबिंबित करेगा:

 with member [Measures].[Part] as '[Territory].CurrentMember / [Territory].[Cities by Countries].[All]', FORMAT_STRING='0.00%' select [Territory].[Cities by Countries].[All].Children on rows from [invoices1] where [Measures].[Part] 

गणना एक सेल के संदर्भ में होती है जिसमें उसके सभी समन्वय गुण ज्ञात होते हैं। कॉर्ड के प्रत्येक अक्ष के लिए करंट कोम्बर्स (सदस्यों) को कॉर्समैटरिंग फंक्शन द्वारा प्राप्त किया जा सकता है। यहां यह समझा जाना चाहिए कि अभिव्यक्ति [क्षेत्र] .CurrentMember / [क्षेत्र] [देशों द्वारा शहर]। [सभी] एक सदस्य को दूसरे में विभाजित नहीं करता है, लेकिन संबंधित कुल घन टुकड़ा डेटा को विभाजित करता है! यानी वर्तमान क्षेत्र के लिए टुकड़ा सभी क्षेत्रों के लिए एक टुकड़ा में विभाजित है, अर्थात। सभी आदेशों का कुल मूल्य। FORMAT_STRING - आउटपुट मानों के लिए प्रारूप सेट करता है, अर्थात %।

एक गणना अवधि का दूसरा उदाहरण, लेकिन पहले से ही वर्षों की धुरी के साथ:

 with member [Date].[2007 and 2006 difference] as '[Date].[2007] - [Date].[2006]' 

जाहिर है, रिपोर्ट एक इकाई नहीं होगी, लेकिन संबंधित स्लाइस का अंतर, अर्थात्। इन दो वर्षों में आदेशों की मात्रा में अंतर।

रोल में प्रदर्शित करें


OLAP सिस्टम एक तरह से या किसी अन्य प्रकार के डेटा संग्रहण और संगठन प्रणाली पर आधारित होते हैं। जब यह RDBMSs की बात आती है, तो वे ROLAP के बारे में बात करते हैं (हम स्वतंत्र अध्ययन के लिए MOLAP और HOLAP को छोड़ देंगे)। रोल - एक रिलेशनल डेटाबेस पर OLAP, अर्थात साधारण दो आयामी तालिकाओं के रूप में वर्णित है। रोल सिस्टम MDX क्वेरी को SQL में कनवर्ट करते हैं। एक डेटाबेस के लिए मुख्य कम्प्यूटेशनल समस्या तेजी से एकत्रीकरण है। तेजी से एकत्र करने के लिए, डेटाबेस में डेटा आमतौर पर बहुत ही कम होता है, अर्थात। वे डिस्क स्पेस और डेटाबेस अखंडता नियंत्रण के संदर्भ में बहुत कुशलता से संग्रहीत नहीं हैं। इसके अलावा, इसके अतिरिक्त सहायक टेबल होते हैं जो आंशिक रूप से एकत्रित डेटा को संग्रहीत करते हैं। इसलिए, OLAP के लिए, एक अलग डेटाबेस स्कीमा आमतौर पर बनाया जाता है, जो केवल निर्देशिकाओं के संदर्भ में मूल लेन-देन डेटाबेस की संरचना को आंशिक रूप से दोहराता है।

नेविगेशन


कई ओएलएपी सिस्टम पहले से ही उत्पन्न अनुरोध (और तदनुसार चयनित डेटा) के लिए इंटरैक्टिव नेविगेशन उपकरण प्रदान करते हैं। इस मामले में, तथाकथित "ड्रिलिंग" या "ड्रिलिंग" (ड्रिल) का उपयोग किया जाता है। रूसी में एक अधिक पर्याप्त अनुवाद "गहरा" शब्द होगा। लेकिन यह स्वाद का मामला है। कुछ वातावरणों में "ड्रिलिंग" शब्द बहुत अधिक हो गया है।

ड्रिल डेटा एकत्रीकरण की डिग्री को कम करके एक रिपोर्ट का एक ड्रिल-डाउन है, जिसे कुछ अन्य अक्ष (या कई अक्षों) के साथ फ़िल्टरिंग के साथ जोड़ा गया है। ड्रिलिंग कई प्रकार की हो सकती है:

वह सब है। अब, यदि आप खुद को बिजनेस इंटेलिजेंस और OLAP को समर्पित करने का निर्णय लेते हैं, तो गंभीर साहित्य पढ़ना शुरू करने का समय आ गया है।

Source: https://habr.com/ru/post/In126810/


All Articles