Excel бағдарламасында олап текшесі дегеніміз не. SSAS жобасын құру. Талдау дегеніміз не және ол не үшін қажет?

Байыпты кәсіпорынның ақпараттық жүйелерінде, әдетте, деректерді кешенді талдауға арналған қосымшалар, олардың динамикасы, тенденциялары және т.б. Тиісінше, топ-менеджмент талдау нәтижелерінің негізгі тұтынушыларына айналады. Мұндай талдау, сайып келгенде, шешім қабылдауды қолдауға арналған. Ал кез келген басқарушылық шешімді қабылдау үшін қажетті, әдетте сандық ақпарат болуы қажет. Ол үшін осы деректерді барлығынан жинау керек ақпараттық жүйелеркәсіпорындар, оларды ортақ форматқа келтіріп, содан кейін оларды талдайды. Осы мақсатта деректер қоймалары құрылады.

Деректер қоймасы дегеніміз не?

Әдетте – аналитикалық маңызы бар барлық ақпарат жиналатын орын. Мұндай дүкендерге қойылатын талаптар OLAP классикалық анықтамасына сәйкес келеді және төменде түсіндіріледі.

Кейде Қойманың тағы бір мақсаты бар - барлық кәсіпорын деректерін біріктіру, барлық ақпараттық жүйелердегі ақпараттың тұтастығы мен өзектілігін сақтау. Бұл. репозиторий аналитикалық ғана емес, барлық дерлік ақпаратты жинақтайды және оны басқа жүйелерге каталогтар түрінде бере алады.

Әдеттегі деректер қоймасы әдеттегі реляциялық дерекқордан ерекшеленеді. Біріншіден, тұрақты дерекқорлар пайдаланушыларға күнделікті жұмысты орындауға көмектесу үшін жасалған, ал деректер қоймалары шешім қабылдауға арналған. Мысалы, тауарларды сату және шот-фактураларды беру мәмілелерді өңдеуге арналған мәліметтер базасының көмегімен жүзеге асырылады, ал жабдықтаушылармен жұмысты жоспарлауға мүмкіндік беретін бірнеше жылдардағы сату динамикасын талдау деректер қоймасының көмегімен жүзеге асырылады.

Екіншіден, пайдаланушылар жұмыс істеген кезде дәстүрлі деректер базалары тұрақты өзгерістерге ұшырағанымен, деректер қоймасы салыстырмалы түрде тұрақты: ондағы деректер әдетте кестеге сәйкес жаңартылады (мысалы, қажеттіліктерге байланысты апта сайын, күнделікті немесе сағат сайын). Ең дұрысы, байыту процесі репозиторийдегі алдыңғы ақпаратты өзгертпестен белгілі бір уақыт аралығында жаңа деректерді қосу болып табылады.

Үшіншіден, тұрақты деректер базалары көбінесе қоймада аяқталатын деректер көзі болып табылады. Сонымен қатар, сақтау орнын толтыруға болады сыртқы көздер, мысалы, статистикалық есептер.

Сақтау орны қалай салынған?

ETL– негізгі түсінік: Үш кезең:
  • Экстракция – түсінікті форматта сыртқы көздерден деректерді шығару;
  • Трансформация – бастапқы деректер құрылымын аналитикалық жүйені құруға ыңғайлы құрылымдарға түрлендіру;
Тағы бір кезеңді қосамыз - деректерді тазалау ( Тазалау) – статистикалық немесе сараптамалық әдістер негізінде маңызды емес немесе қате деректерді сүзгілеу процесі. Кейінірек «20011 жылғы сатылымдар» сияқты есептерді жасамау үшін.

Талдауға қайта оралайық.

Талдау дегеніміз не және ол не үшін қажет?

Талдау – шешім қабылдау мақсатында мәліметтерді зерттеу. Аналитикалық жүйелер шешімдерді қолдау жүйелері деп аталады ( DSS).

Мұнда DSS-пен жұмыс істеу мен реттелетін және реттелмейтін есептердің қарапайым жиынтығы арасындағы айырмашылықты атап өткен жөн. DSS-тегі талдау әрдайым дерлік интерактивті және итеративті болып табылады. Анау. талдаушы деректерді зерттейді, аналитикалық сұрауларды құрастырады және реттейді және құрылымы алдын ала белгісіз болуы мүмкін есептерді алады. Төменде сұрау тілін талқылағанда біз бұған толығырақ ораламыз. MDX.

OLAP

Шешім қабылдауды қолдау жүйелерінде әдетте қабылдау және талдау үшін ыңғайлы формада (кестелер, диаграммалар және т. Бастапқы деректерді сегменттеудің дәстүрлі тәсілі бастапқы деректерден бір немесе бірнеше көп өлшемді деректер жиынын (көбінесе гиперкуб немесе метакуб деп аталады) шығаруды қамтиды, олардың осінде төлсипаттар, ал ұяшықтар жиынтық сандық деректерді қамтиды. (Мұндай деректер реляциялық кестелерде де сақталуы мүмкін, бірақ бұл жағдайда біз оларды сақтаудың физикалық жүзеге асырылуы туралы емес, деректердің логикалық ұйымдастырылуы туралы айтып отырмыз.) Әрбір ось бойымен атрибуттарды иерархия түрінде ұйымдастыруға болады, олардың бөлшектерінің әртүрлі деңгейлерін білдіреді. Осы деректер үлгісінің арқасында пайдаланушылар күрделі сұрауларды құрастыра алады, есептерді жасай алады және деректердің ішкі жиындарын ала алады.

Күрделі көпөлшемді деректерді талдау технологиясы OLAP (On-Line Analytical Processing) деп аталады. OLAP дәстүрлі деректер қоймасының негізгі құрамдас бөлігі болып табылады. OLAP концепциясын 1993 жылы атақты дерекқор зерттеушісі және реляциялық деректер моделінің авторы Эдгар Кодд сипаттаған. 1995 жылы Кодд белгілеген талаптар негізінде FASMI сынағы (Ортақ көпөлшемді ақпаратты жылдам талдау) тұжырымдалған, оның ішінде көпөлшемді талдауға арналған қосымшаларға қойылатын келесі талаптар:

  • пайдаланушыға талдау нәтижелерін қолайлы уақыт ішінде (әдетте 5 секундтан аспайды), тіпті азырақ егжей-тегжейлі талдау құнымен қамтамасыз ету;
  • тән кез келген логикалық және статистикалық талдауды жүзеге асыру мүмкіндігі бұл қолданба, және оны соңғы пайдаланушыға қолжетімді пішінде сақтау;
  • сәйкес құлыптау механизмдерін және рұқсат етілген қол жеткізу құралдарын қолдау арқылы деректерге көп пайдаланушының қол жеткізуі;
  • деректердің көпөлшемді тұжырымдамалық көрінісі, соның ішінде толық қолдауиерархиялар және бірнеше иерархиялар үшін (бұл OLAP негізгі талабы);
  • көлеміне және сақтау орнына қарамастан кез келген қажетті ақпаратқа қол жеткізу мүмкіндігі.
Айта кету керек, OLAP функционалдығын жүзеге асыруға болады әртүрлі жолдар, кеңсе қолданбаларындағы деректерді талдаудың ең қарапайым құралдарынан бастап және серверлік өнімдерге негізделген таратылған аналитикалық жүйелерге дейін. Анау. OLAP - бұл технология емес, бірақ идеология.

Әртүрлі OLAP іске асырулары туралы айтпас бұрын, логикалық тұрғыдан текшелердің не екенін егжей-тегжейлі қарастырайық.

Көпөлшемді ұғымдар

OLAP принциптерін суреттеу үшін Microsoft корпорациясымен қамтылған Northwind дерекқорын қолданамыз. SQL серверіазық-түлікті көтерме жеткізумен айналысатын компанияның сауда операциялары туралы ақпаратты сақтайтын типтік деректер базасы болып табылады. Мұндай деректерге жеткізушілер, клиенттер туралы ақпарат, жеткізілетін тауарлар мен олардың санаттарының тізімі, тапсырыстар мен тапсырыс берілген тауарлар туралы деректер, компания қызметкерлерінің тізімі кіреді.

Текше

Мысалы, компанияның тапсырыстарын қамтитын Invoices1 кестесін алайық. Бұл кестедегі өрістер келесідей болады:
  • Тапсырыс күні
  • Мемлекет
  • Қала
  • Тұтынушының аты
  • Жеткізу компаниясы
  • Өнім атауы
  • Тауарлардың саны
  • Тапсырыс бағасы
Бұл көріністен қандай жиынтық деректерді ала аламыз? Әдетте бұл сұрақтарға жауаптар:
  • Белгілі бір елден келген тұтынушылар берген тапсырыстардың жалпы құны қандай?
  • Клиенттер белгілі бір елде орналастырған және белгілі бір компания жеткізген тапсырыстардың жалпы құны қандай?
  • Белгілі бір елдегі тұтынушылардың белгілі бір жылда орналастырған және белгілі бір компания жеткізген тапсырыстарының жалпы құны қандай?
Бұл деректердің барлығын осы кестеден топтастырумен өте айқын SQL сұраулары арқылы алуға болады.

Бұл сұраудың нәтижесі әрқашан сандар бағанасы және оны сипаттайтын атрибуттар тізімі болады (мысалы, ел) - бұл бір өлшемді деректер жиынтығы немесе математикалық тілде вектор.

Елестетіп көрейік, бізге барлық елдерден тапсырыстардың жалпы құны және оларды жеткізуші компаниялар арасында бөлу туралы ақпаратты алу керек - біз сандар кестесін (матрицасын) аламыз, онда жеткізу компаниялары баған тақырыптарында, жолда елдер көрсетіледі. тақырыптар, ал ұяшықтарда тапсырыстар саны болады. Бұл екі өлшемді деректер массиві. Бұл деректер жиыны жиынтық кесте деп аталады ( жиынтық кесте) немесе айқас кесте.

Егер біз бірдей деректерді алғымыз келсе, сонымен қатар жыл бойынша, онда тағы бір өзгеріс пайда болады, яғни. деректер жинағы үш өлшемді болады (шартты 3 ретті тензор немесе 3 өлшемді «текше»).

Әлбетте, өлшемдердің ең көп саны біздің жинақталған деректерімізді (тапсырыстар саны, өнімдер саны және т.б.) сипаттайтын барлық атрибуттардың (Күні, Елі, Тұтынушы және т.б.) саны болып табылады.

Біз көпөлшемділік ұғымына және оның іске асуына осылай келеміз - көпөлшемді куб. Біз мұндай кестені атаймыз « фактілер кестесі" Өлшемдер немесе текше осьтері ( өлшемдері) координаталары фактілер кестесінде берілген осы атрибуттардың жеке мәндерімен өрнектелетін атрибуттар болып табылады. Анау. мысалы, жүйеде тапсырыстар туралы ақпарат 2003-2010 жылдар аралығында сақталған болса, онда биылғы жылы ось 8 сәйкес пункттен тұрады. Егер тапсырыстар үш елден келсе, онда ел осінде 3 ұпай болады және т.б. Елдер анықтамалығына қанша ел енгізілгеніне қарамастан. Осьтегі нүктелер оның «мүшелері» деп аталады ( Мүшелер).

Бұл жағдайда жинақталған деректердің өзі «шара» деп аталады ( Өлшеу). «Өлшемдермен» шатастырмау үшін соңғыларын «осьтер» деп атаған жөн. Шаралар жинағы басқа «Өлшемдер» осін құрайды ( Шаралар). Оның деректер кестесіндегі өлшемдер (жиынтық бағандар) қанша болса, сонша мүше (нүкте) бар.

Өлшемдердің немесе осьтердің мүшелері бір немесе бірнеше иерархиямен біріктірілуі мүмкін ( иерархия). Иерархияның не екенін мысалмен түсіндірейік: тапсырыстар бойынша қалалар аудандарға, аудандарды аймақтарға, елдің аймақтарына, елдерді континенттерге немесе басқа құрылымдарға біріктіруге болады. Анау. иерархиялық құрылым бар - континент- ел-облыс-аудан-қала– 5 деңгей ( Деңгей). Аймақ үшін деректер оған кіретін барлық қалалар үшін жинақталады. Барлық қалаларды қамтитын барлық аудандардағы аймақ үшін және т.б. Неліктен бізге бірнеше иерархия қажет? Мысалы, тапсырыс күні осінде біз нүктелерді (яғни күндер) иерархияға топтастыра аламыз. Жыл-ай-күннемесе арқылы Жыл-апта-күн: екі жағдайда да үш деңгей бар. Апта мен ай күндерді әртүрлі топтастырады. Сонымен қатар деңгейлер саны детерминирленген емес және деректерге байланысты иерархиялар бар. Мысалы, компьютерлік дискідегі қалталар.

Деректерді біріктіру бірнеше стандартты функцияларды қолдану арқылы жүзеге асуы мүмкін: қосынды, минимум, максимум, орташа, санау.

MDX

Көпөлшемді деректердегі сұрау тіліне көшейік.
SQL тілі бастапқыда бағдарламашыларға емес, аналитиктерге арналған (сондықтан табиғи тілге ұқсайтын синтаксисі бар). Бірақ уақыт өте келе ол барған сайын күрделене түсті және қазір аз ғана сарапшылар оны қалай жақсы пайдалану керектігін біледі. Бұл бағдарламашылар үшін құрал болды. Біздің бұрынғы отандасымыз Моша (немесе Моша) Посуманский Майкрософттың жабайы аймағында әзірледі деген қауесет бар MDX сұрау тілі де бастапқыда талдаушыларға арналған, бірақ оның тұжырымдамалары мен синтаксисі (бұл SQL-ді анық еске түсіреді және мүлдем бекер, яғни тек шатастыратындықтан), SQL-тен де күрделірек. Дегенмен, оның негіздері әлі де түсінуге оңай.

Біз оны егжей-тегжейлі қарастырамыз, өйткені бұл XMLA протоколының жалпы стандарты аясында стандартты мәртебеге ие болған жалғыз тіл, екіншіден, оны компанияның Mondrian жобасы түрінде ашық бастапқы енгізуі бар. Пентахо. Басқа OLAP талдау жүйелері (мысалы, Oracle OLAP опциясы) әдетте өздерінің SQL синтаксистік кеңейтімдерін пайдаланады, бірақ олар сонымен бірге MDX қолдауын жариялайды.

Аналитикалық деректер жиынымен жұмыс істеу тек оқуды білдіреді және жазуды білдірмейді. Бұл. MDX-те деректерді өзгертуге арналған сөйлемдер жоқ, тек бір таңдау тармағы – таңдау.

OLAP бағдарламасында көп өлшемді текшелерді жасауға болады тілімдер– яғни. деректер бір немесе бірнеше ось бойынша сүзілгенде немесе проекциялар– текше деректерді біріктіре отырып, бір немесе бірнеше ось бойымен «жығылғанда». Мысалы, елдерден келген тапсырыстар саны бар бірінші мысал - текшені Ел осіне проекциялау. Бұл жағдай үшін MDX сұрауы келесідей болады:

... Жолдардағы балалар опциясын таңдаңыз
Мұнда не бар?

таңдаңыз– негізгі сөз синтаксиске тек сұлулық үшін енгізілген.
осьтің аты болып табылады. MDX-тегі барлық меншікті атаулар төртбұрышты жақшаға жазылады.
иерархияның атауы болып табылады. Біздің жағдайда бұл Ел-Қала иерархиясы
– бұл иерархияның бірінші деңгейіндегі ось мүшесінің атауы (яғни ел) Барлығы – бұл осьтің барлық мүшелерін біріктіретін мета-мүше. Әрбір осьте мұндай метатермин бар. Мысалы, жыл осінде «Барлық жылдар» және т.б.
Балалармүшелік функция болып табылады. Әрбір мүшенің қол жетімді бірнеше функциялары бар. Ата-ана сияқты. Деңгей, иерархия, сәйкесінше текті, иерархиядағы деңгейді және осы жағдайда мүше жататын иерархияның өзін қайтарады. Балалар - осы мүшенің еншілес мүшелерінің жинағын қайтарады. Анау. біздің жағдайда – елдер.
қатарларда– Нәтижелік кестеде бұл деректерді қалай реттеу керектігін көрсетеді. Бұл жағдайда - жолдардың тақырыбында. Мұнда мүмкін мәндер: бағандарда, беттерде, абзацтарда және т.б. Сондай-ақ 0-ден бастап индекс бойынша жай ғана көрсетуге болады.
бастап– бұл таңдау жасалған текшенің көрсеткіші.

Бізге барлық елдер емес, тек бірнеше нақты елдер керек болса ше? Мұны істеу үшін біз балалар функциясын пайдаланып барлығын таңдамай, сұрауда бізге қажет елдерді нақты көрсете аламыз.

Жолдардан ( ..., ... ) таңдаңыз
Бұл жағдайда бұйра жақшалар жиынның мәлімдемесі болып табылады ( Орнату). Жиын - бұл тізім, мүшелердің тізімі бір осьтен.

Енді екінші мысалға сұраныс жазайық – жеткізуші контекстіндегі нәтиже:

...Жолдардағы балалар .Бағандардағы мүшелер тармағын таңдаңыз
Мұнда қосылды:
– ось;
.Мүшелер– барлық шарттарды қайтаратын ось функциясы. Иерархия мен деңгей бірдей функцияға ие. Өйткені Бұл осьте бір ғана иерархия бар, онда оның көрсеткішін алып тастауға болады, өйткені деңгей мен иерархия да бірдей болса, барлық мүшелерді бір тізімде көрсетуге болады.

Менің ойымша, біз мұны үшінші мысалмен жыл сайын егжей-тегжейлі жалғастыра алатынымыз анық. Бірақ жыл бойынша емес, сүзгіден өткізгеніміз абзал. кесінді құрастыру Ол үшін келесі сұрауды жазамыз:

..Жолдардағы балалар .Бағандардағы мүшелер (.)
Мұнда фильтрация қайда?

қайда- кілт сөз
иерархияның бір мүшесі болып табылады . Толық аты, оның ішінде барлық терминдер: .. , бірақ себебі Бұл мүшенің аты ось ішінде бірегей болғандықтан, атаудың барлық аралық нақтылауларын өткізіп жіберуге болады.

Неліктен дата термині жақшада? Жақшалар кортеж ( кортеж). Кортеж – бойындағы бір немесе бірнеше координаттар әртүрліосьтер Мысалы, бірден екі ось бойымен сүзгілеу үшін жақша ішінде біз екі терминді тізімдейміз әртүрліүтірмен бөлінген өлшемдер. Яғни, кортеж текшенің «тілігін» анықтайды (немесе «сүзу», егер мұндай терминология жақынырақ болса).

Кортеж тек сүзгіден өткізу үшін ғана пайдаланылады. Кортеждер жолдардың/бағандардың/беттердің және т.б. тақырыптарда болуы мүмкін.

Бұл, мысалы, екі өлшемді кестеде үш өлшемді сұраныстың нәтижесін көрсету үшін қажет.

Жолдардағы айқаспалы біріктіруді (...Балалар, ..Балалар) таңдаңыз. Бағандардағы мүшелерді (.)
Қосылуфункция болып табылады. Ол екі жиынның декарттық көбейтіндісінің нәтижесінде пайда болатын кортеждер жиынын (иә, жиында кортеждер болуы мүмкін!) қайтарады. Анау. алынған жиынтықта Елдер мен Жылдардың барлық мүмкін комбинациялары болады. Осылайша, жол тақырыптарында мәндер жұбы болады: Ел-жыл.

Мәселе мынада, қандай сандық сипаттамалар көрсетілуі керек көрсеткіш қайда? Бұл жағдайда осы текше үшін анықталған әдепкі өлшем пайдаланылады, яғни. Тапсырыс бағасы. Егер біз басқа өлшемді алғымыз келсе, онда өлшемдер өлшемнің мүшелері екенін есте ұстаймыз Шаралар. Және біз басқа осьтермен дәл солай әрекет етеміз. Анау. өлшемдердің бірі бойынша сұрауды сүзу дәл осы өлшемді ұяшықтарда көрсетеді.

Сұрақ: Қай жерде сүзгілеу мен жолдардағы ось мүшелерін көрсету арқылы сүзгілеудің айырмашылығы неде. Жауап: іс жүзінде ештеңе. Тақырыптарды құруға қатыспайтын осьтер үшін кесінді көрсетілген жерде жай ғана. Анау. бірдей ось мүмкін емесбір уақытта қатысу қатарларда, және ішінде қайда.

Есептелген мүшелер

Қосымша ақпарат алу үшін күрделі сұрауларСіз есептелген мүшелерді жариялай аласыз. Төлсипат пен өлшем осьтерінің мүшелері. Анау. Сіз, мысалы, тапсырыстардың жалпы сомасына әрбір елдің үлесін көрсететін жаңа өлшемді жариялай аласыз:

Мүшемен. '.CurrentMember / ..' ретінде, FORMAT_STRING='0,00%' ...қай жерінен жолдардағы балаларды таңдаңыз.
Есептеу оның барлық координат атрибуттары белгілі ұяшық контекстінде орын алады. Сәйкес координаттарды (мүшелер) текше осінің әрқайсысы үшін CurrentMember функциясы арқылы алуға болады. Мұнда біз өрнек екенін түсінуіміз керек .CurrentMember/..' бір терминді екіншісіне бөлмейді, бірақ бөледі сәйкес жинақталған деректертекше тілімдері! Анау. ағымдағы аумаққа арналған кесінді барлық аумақтар үшін кесіндіге бөлінеді, яғни. барлық тапсырыстардың жалпы құны. FORMAT_STRING – мәндерді көрсету пішімін орнатады, яғни. %.

Есептелген мүшенің тағы бір мысалы, бірақ жылдар осінде:

Мүшемен. ретінде '. -.’
Әлбетте, есепте бірлік болмайды, бірақ сәйкес бөлімдердің айырмашылығы, яғни. осы екі жылдағы тапсырыстар сомасының айырмашылығы.

ROLAP ішінде көрсету

OLAP жүйелері қандай да бір түрде деректерді сақтау және ұйымдастыру жүйесіне негізделген. Қашан туралы айтып отырмыз RDBMS туралы, содан кейін олар ROLAP туралы айтады (біз MOLAP пен HOLAP-ты қалдырамыз өздігінен оқу). ROLAP – реляциялық деректер қорындағы OLAP, яғни. кәдімгі екі өлшемді кестелер түрінде сипатталады. ROLAP жүйелері MDX сұрауларын SQL-ге түрлендіреді. Мәліметтер базасы үшін негізгі есептеу мәселесі жылдам біріктіру болып табылады. Жылдамырақ жинақтау үшін дерекқордағы деректер әдетте өте нормадан шығарылады, яғни. дискілік кеңістікті алу және дерекқордың тұтастығын бақылау тұрғысынан өте тиімді сақталмайды. Сонымен қатар оларда ішінара жинақталған деректерді сақтайтын көмекші кестелер бар. Сондықтан, OLAP үшін әдетте дерекқордың бөлек схемасы жасалады, ол каталогтар бойынша бастапқы транзакциялық дерекқорлардың құрылымын тек ішінара қайталайды.

Навигация

Көптеген OLAP жүйелері бұрыннан жасалған сұрау (және сәйкес таңдалған деректер) үшін интерактивті шарлау құралдарын ұсынады. Бұл жағдайда «бұрғылау» немесе «бұрғылау» деп аталады. Орыс тіліне неғұрлым барабар аудармасы «тереңдету» сөзі болар еді. Бірақ бұл талғамға байланысты, кейбір орталарда «бұрғылау» сөзі тұрып қалды.

Бұрғылау– бұл басқа ось (немесе бірнеше осьтер) бойынша сүзумен біріктірілген деректерді біріктіру дәрежесін азайту арқылы егжей-тегжейлі есеп. Бұрғылаудың бірнеше түрі бар:

  • бұрғылау– таңдалған сүзу мүшесінің иерархиясындағы ұрпақтар туралы егжей-тегжейлі ақпаратты көрсету арқылы есептің бастапқы осьтерінің бірі бойымен сүзу. Мысалы, елдер мен жылдар бойынша бөлінген тапсырыстарды бөлу туралы есеп болса, 2007 жылды басу 2007 жылдың бірдей елдері мен айлары бойынша бөлінген есеп көрсетіледі.
  • бұрғылау жағы– бір немесе бірнеше таңдалған осьтер астында сүзгілеу және бір немесе бірнеше басқа осьтер бойымен біріктіруді жою. Мысалы, Елдер мен Жылдар бойынша бөлінген тапсырыстарды бөлу туралы есеп болса, 2007 жылды басқанда, мысалы, 2007 жылға қарай сүзгіленген елдер мен жеткізушілер бойынша бөлінген басқа есеп көрсетіледі.
  • бұрғылау науасы– барлық осьтер бойынша жинақтауды жою және олар бойынша бір уақытта сүзгілеу – есептегі мән алынған фактілер кестесінен бастапқы деректерді көруге мүмкіндік береді. Анау. Ұяшық мәнін басқан кезде есеп осы соманы берген барлық тапсырыстармен көрсетіледі. Текшенің «тереңдігіне» жылдам бұрғылаудың бір түрі.
Бар болғаны. Енді, егер сіз өзіңізді Business Intelligence және OLAP-қа арнауды шешсеңіз, маңызды әдебиеттерді оқуды бастаудың уақыты келді.

Тегтер: тегтерді қосу

Мен Хабр қаласының тұрғыны болғаныма біраз уақыт болды, бірақ мен көп өлшемді текшелер, OLAP және MDX тақырыбына арналған мақалаларды ешқашан оқыған емеспін, дегенмен тақырып өте қызықты және күн сайын өзекті болып келеді.
Жасыратыны жоқ, деректер базасы, электронды есепке алу және онлайн-жүйелерді дамытудың сол қысқа кезеңінде көптеген деректердің өзі жинақталған. Енді мұрағаттарды толық талдау, мүмкін болашақта ұқсас модельдер үшін жағдайларды болжау әрекеті де қызығушылық тудырады.
Екінші жағынан, ірі компаниялар, тіпті бірнеше жыл, айлар, тіпті апталар бойына да деректердің үлкен көлемін жинақтай алады, тіпті олардың негізгі талдауы ерекше тәсілдер мен қатаң аппараттық талаптарды талап етеді. Бұл банктік транзакцияларды өңдеу жүйелері, айырбастау агенттері, телефон операторларыжәне т.б.
Менің ойымша, барлығы дерекқорды жобалаудың екі түрлі тәсілін жақсы біледі: OLTP және OLAP. Бірінші тәсіл (Online Transaction Processing - нақты уақыттағы транзакцияны өңдеу) нақты уақыт режимінде тиімді деректерді жинауға арналған, ал екіншісі (Online Analytical Processing - нақты уақыттағы аналитикалық өңдеу) арнайы ең тиімді жағдайда деректерді іріктеуге және өңдеуге бағытталған. жол.

Қазіргі OLAP текшелерінің негізгі мүмкіндіктерін және олар қандай мәселелерді шешетінін қарастырайық (негіз ретінде Analysis Services 2005/2008 алынады):

  • жылдам қол жеткізудеректерге
  • преагрегация
  • иерархия
  • уақытпен жұмыс істеу
  • көпөлшемді деректерге қол жеткізу тілі
  • KPI (негізгі өнімділік көрсеткіштері)
  • дата өндіру
  • көп деңгейлі кэштеу
  • көптілді қолдау
Сонымен, OLAP текшелерінің мүмкіндіктерін толығырақ қарастырайық.

Мүмкіндіктер туралы аздап

Деректерге жылдам қол жеткізу
Шын мәнінде, массивтің өлшеміне қарамастан деректерге жылдам қол жеткізу OLAP жүйелерінің негізі болып табылады. Бұл басты назар болғандықтан, деректер қоймасы әдетте реляциялық дерекқорлардан өзгеше принциптерге құрылады.
Мұнда қарапайым деректерді алу уақыты секундтың бөліктерімен өлшенеді және бірнеше секундтан асатын сұрау оңтайландыруды қажет етеді.

Алдын ала жинақтау
Бар деректерді жылдам шығарып алумен қатар, ол «пайдаланылатын ең ықтимал» мәндерді алдын ала жинақтау мүмкіндігін де қамтамасыз етеді. Мысалы, бізде белгілі бір өнімді сатудың күнделікті жазбалары болса, жүйе МүмкінСондай-ақ, біз ай сайынғы және тоқсан сайынғы сатылым сомасын алдын ала жинақтай аламыз, яғни ай сайын немесе тоқсан сайын деректерді сұрасақ, жүйе бізге нәтижені бірден береді. Неліктен алдын ала біріктіру әрқашан бола бермейді - өйткені теориялық мүмкін болатын тауарлар/уақыт/т.б. үлкен сан болуы мүмкін, яғни қандай элементтер үшін біріктіру құрастырылатыны және қайсысы үшін болмайтыны туралы нақты ережелер болуы керек. Жалпы алғанда, осы ережелерді және агрегаттардың нақты дизайнын ескеру тақырыбы өте кең және жеке мақалаға лайық.

Иерархиялар
Мәліметтерді талдау және қорытынды есептерді құрастыру кезінде айлар күндерден тұратынын және олардың өзі кварталдарды құрайтынын, ал қалалар өз кезегінде облыстардың немесе елдердің құрамына кіретін аудандарға кіретінін ескеру қажет екендігі табиғи нәрсе. . Жақсы жаңалық сол OLAP текшелерібастапқыда олар деректерді иерархиялар және сол нысанның басқа параметрлерімен қарым-қатынастар тұрғысынан қарастырады, сондықтан текшелерде иерархияларды құру және пайдалану өте қарапайым мәселе.

Уақытпен жұмыс
Деректерді талдау негізінен уақыт аймақтарында жүзеге асырылатындықтан, OLAP жүйелерінде уақытқа ерекше мән беріледі, яғни бұл жерде бізде уақыт бар жүйені анықтау арқылы болашақта Жылдан күнге, айдан күнге дейін сияқты функцияларды оңай пайдалануға болады. (жыл/ай басынан ағымдағы күнге дейінгі кезең), Параллель кезең (сол күнде немесе айда, бірақ өткен жылы) т.б.

Көпөлшемді деректерге қол жеткізу тілі
MDX(Multidimensional Expressions) – көпөлшемді деректер құрылымдарына қарапайым және тиімді қол жеткізуге арналған сұрау тілі. Және бұл бәрін айтады - төменде бірнеше мысалдар болады.

Негізгі өнімділік көрсеткіштері (KPI)
Негізгі өнімділік көрсеткіштеріұйымға стратегиялық мақсаттарға қол жеткізуді анықтауға көмектесетін қаржылық және қаржылық емес өлшем жүйесі. Негізгі өнімділік көрсеткіштері OLAP жүйелерінде қарапайым түрде анықталуы және есептерде қолданылуы мүмкін.

Тау-кен өндіру күні
Деректерді өндіру(Data Mining) – негізінен деректердің үлкен көлемдеріндегі айнымалылар арасындағы жасырын үлгілерді немесе қатынастарды анықтау.
Ағылшын тіліндегі «Data Mining» терминінің орыс тіліне бірмәнді аудармасы жоқ (деректерді өндіру, деректерді өндіру, ақпаратты өндіру, деректер/ақпаратты алу), сондықтан ол көп жағдайда түпнұсқада қолданылады. Ең табысты жанама аударма – «деректерді өндіру» (DMA) термині. Дегенмен, бұл бөлек, кем емес қызықты тақырып.

Көп деңгейлі кэштеу
Шын мәнінде, деректерге қол жеткізудің ең жоғары жылдамдығын қамтамасыз ету үшін, күрделі деректер құрылымдары мен алдын ала жинақтаулардан басқа, OLAP жүйелері көп деңгейлі кэштеуді қолдайды. Қарапайым сұрауларды кэштеумен қатар, дүкеннен оқылған деректер бөліктері, жинақталған мәндер және есептелген мәндер де кэштеледі. Осылайша, OLAP текшесімен неғұрлым ұзақ жұмыс істесеңіз, ол соғұрлым тезірек жұмыс істей бастайды. Сондай-ақ «кэшті жылыту» түсінігі бар - OLAP жүйесін нақты есептермен, сұраулармен немесе барлығы біріктірілген жұмыс істеуге дайындайтын операция.

Көптілді қолдау
Ия ия ия. Кем дегенде, Analysis Services 2005/2008 (бірақ Enterprise Edition) көптілділікті жергілікті түрде қолдайды. Деректеріңіздің жол параметрлерінің аудармасын қамтамасыз ету жеткілікті және оның тілін көрсеткен клиент локализацияланған деректерді алады.

Көпөлшемді текшелер

Сонымен, бұл көп өлшемді текшелер дегеніміз не?
Осьтері Уақыт, Өнімдер және Тұтынушылар болып табылатын 3 өлшемді кеңістікті елестетейік.
Мұндай кеңістіктегі нүкте сатып алушылардың біреуінің белгілі бір айда белгілі бір өнімді сатып алғанын көрсетеді.

Шын мәнінде, жазықтық (немесе барлық осындай нүктелердің жиыны) текше болады және сәйкесінше Уақыт, Өнімдер және Тұтынушылар оның өлшемдері болады.
Төрт өлшемді немесе одан да көп текшені елестету (және салу) сәл қиынырақ, бірақ мәні өзгермейді, ең бастысы, OLAP жүйелері үшін қанша өлшемде жұмыс істейтініңіз маңызды емес (ақылға қонымды шегінде). шектеулер, әрине).

Кішкене MDX

Сонымен, MDX-тің сұлулығы неде, ең алдымен, біз деректерді қалай таңдағымыз келетінін сипаттауымыз керек Нақты неБіз қалаймыз.
Мысалы,
ТАҢДАУ
( . ) БАҒАНДАРДА,
( ., . ) ЖОЛДАРДА
FROM
ҚАЙДА (., .)

Бұл Мозамбикте маусым және шілде айларында сатылған iPhone телефондарының санын қалаймын дегенді білдіреді.
Сонымен бірге мен сипаттаймын қайбұл мен қалайтын деректер және ҚалайМен оларды есепте көргім келеді.
Әдемі, солай емес пе?

Мұнда сәл күрделірек:

МҮШЕМЕН AverageSpend AS
. / .
ТАҢДАУ
( AverageSpend ) БАҒАНДАРДА,
( .., .. ) ҚОЛДАРДА
FROM
ҚАЙДА (.)

* Бұл бастапқы код Source Code Highlighter көмегімен бөлектелді.

Шын мәнінде, алдымен біз «сатып алудың орташа мөлшерін» есептеу формуласын анықтаймыз және Apple дүкеніне бір рет барған кезде кімнің (қай жыныстың) көп ақша жұмсайтынын салыстыруға тырысамыз.

Тілдің өзі зерттеуге де, қолдануға да өте қызықты, мүмкін көп талқылауға лайық.

Қорытынды

Шын мәнінде, бұл мақала тіпті негізгі ұғымдардың өте азын қамтиды, мен оны «тәбет» деп атар едім - бұл Хабра қауымдастығын осы тақырыпқа қызықтыру және оны одан әрі дамыту мүмкіндігі. Ал игеруге келер болсақ, мұнда жыртылмаған орасан зор егістік бар, мен сіздің барлық сұрақтарыңызға қуана жауап беремін.

P.S.Бұл менің OLAP туралы алғашқы жазбам және Хабредегі алғашқы жарияланым - сындарлы кері байланыс үшін өте риза болар едім.
Жаңарту:Мен оны SQL-ге ауыстырдым, олар жаңа блогтар жасауға рұқсат бергенде, мен оны OLAP-қа тасымалдаймын.

Тегтер: тегтерді қосу

Осы жұмыс шеңберінде келесі мәселелер қарастырылады:

  • OLAP текшелері дегеніміз не?
  • Өлшемдер, өлшемдер, иерархиялар дегеніміз не?
  • OLAP текшелерінде қандай операциялар түрлерін орындауға болады?
OLAP текшесі туралы түсінік

OLAP-тың негізгі постулаты деректерді ұсынудағы көп өлшемділік болып табылады. OLAP терминологиясында текше немесе гиперкуб ұғымы көп өлшемді дискретті деректер кеңістігін сипаттау үшін пайдаланылады.

Текшепайдаланушы-аналитик ақпаратты сұрай алатын көп өлшемді деректер құрылымы болып табылады. Текшелер фактілер мен өлшемдерден жасалған.

Деректер- бұл талдауға жататын компаниядағы объектілер мен оқиғалар туралы деректер. Бір типті фактілер шараларды құрайды. Көрсеткіш текше ұяшығындағы мән түрі болып табылады.

Өлшемдер- бұл фактілер талданатын деректер элементтері. Мұндай элементтердің жинағы өлшем төлсипатын құрайды (мысалы, апта күндері уақыт өлшемі төлсипатын құра алады). Коммерциялық кәсіпорындарға арналған бизнесті талдау тапсырмаларында өлшемдер көбінесе «уақыт», «сатылым», «өнім», «тұтынушылар», «қызметкерлер», «географиялық орын» сияқты санаттарды қамтиды. Өлшемдер көбінесе иерархиялық құрылымдар, бұл пайдаланушы нақты деректерді талдай алатын логикалық санаттар. Әрбір иерархияда бір немесе бірнеше деңгейлер болуы мүмкін. Осылайша, «географиялық орналасу» өлшемі иерархиясы деңгейлерді қамтуы мүмкін: «ел - аймақ - қала». Уақыт иерархиясында, мысалы, деңгейлердің келесі тізбегін ажыратуға болады: Өлшемде бірнеше иерархиялар болуы мүмкін (бір өлшемнің әрбір иерархиясында өлшемдер кестесінің бірдей негізгі атрибуты болуы керек).

Текше бір немесе бірнеше факт кестелеріндегі нақты деректерді қамтуы мүмкін және көбінесе бірнеше өлшемдерді қамтиды. Кез келген берілген текшеде әдетте талдау үшін арнайы фокус болады.

1-суретте аймақ бойынша белгілі бір компанияның мұнай өнімдерін сатуды талдауға арналған текше үлгісі көрсетілген. Бұл текшеде үш өлшем (уақыт, өнім және аймақ) және бір өлшем (ақшалай түрде көрсетілген сату көлемі) бар. Өлшем мәндері текшенің сәйкес ұяшықтарында сақталады. Әрбір ұяшық кортеж деп аталатын әрбір өлшемнің мүшелерінің жиынымен бірегей түрде анықталады. Мысалы, текшенің төменгі сол жақ бұрышында орналасқан ұяшық (құрамында $98399 мәні бар) кортеж арқылы көрсетілген [шілде 2005, Қиыр Шығыс, Дизель]. Мұнда 98 399 доллардың құны 2005 жылдың шілде айындағы Қиыр Шығыстағы дизель отынын сату көлемін (ақшалай түрде) көрсетеді.

Сондай-ақ, кейбір ұяшықтарда ешқандай мән жоқ екенін атап өткен жөн: бұл ұяшықтар бос, себебі фактілер кестесінде олар үшін деректер жоқ.

Күріш. 1.Әр түрлі аймақтардағы мұнай өнімдерін сату туралы ақпарат бар текше

Осындай текшелерді жасаудың соңғы мақсаты нақты деректерден қажетті ақпаратты шығаратын сұрауларды өңдеу уақытын азайту болып табылады. Бұл тапсырманы орындау үшін текшелер әдетте шақырылған алдын ала есептелген қорытындыларды қамтиды жинақтаулар(агрегациялар). Анау. текше нақтыдан үлкенірек деректер кеңістігін қамтиды - онда логикалық, есептелген нүктелер бар. Агрегация функциялары нақты мәндер негізінде логикалық кеңістіктегі нүктелердің мәндерін есептеуге мүмкіндік береді. Ең қарапайым біріктіру функциялары – SUM, MAX, MIN, COUNT. Мәселен, мысалы, MAX функциясын пайдаланып, мысалда келтірілген текше үшін Қиыр Шығыста дизельді отын сатудың шыңы қашан болғанын және т.б. анықтауға болады.

Көпөлшемді текшелердің тағы бір спецификалық ерекшелігі – шығу тегін анықтаудың қиындығы. Мысалы, Өнім немесе Аймақтар өлшемі үшін 0 нүктесін қалай орнатуға болады? Бұл мәселенің шешімі өлшемнің барлық элементтерін біріктіретін арнайы атрибутты енгізу болып табылады. Бұл атрибут (автоматты түрде жасалады) тек бір элементті қамтиды - Барлығы. Қосынды сияқты қарапайым біріктіру функциялары үшін Барлығы элементі берілген өлшемнің нақты кеңістігіндегі барлық элементтер мәндерінің қосындысына баламалы.

Көпөлшемді деректер үлгісіндегі маңызды түсінік ішкі кеңістік немесе ішкі текше болып табылады. Субкуб текшенің ішіндегі кейбір көп өлшемді фигура түріндегі текшенің толық кеңістігінің бөлігі болып табылады. Текшенің көп өлшемді кеңістігі дискретті және шектеулі болғандықтан, қосалқы текше де дискретті және шектеулі.

OLAP текшелеріндегі әрекеттер

OLAP текшесінде келесі әрекеттерді орындауға болады:

  • тілім;
  • айналу;
  • шоғырландыру;
  • егжей-тегжейлі.
тілім(2-сурет) субкубтың ерекше жағдайы. Бұл осы жиынға қосылмаған бір немесе бірнеше өлшем элементтерінің жалғыз мәніне сәйкес келетін көп өлшемді деректер массивінің ішкі жиынын қалыптастыру процедурасы. Мысалы, белгілі бір аймақта ғана, атап айтқанда Оралда мұнай өнімдерін сату уақыт өте келе қалай дамып келе жатқанын білу үшін «Орал» элементіне «Өнім» өлшемін бекітіп, тиісті ішкі жиынды (подкуб) шығарып алу керек. текше.
  • Күріш. 2. OLAP текше бөлігі

    Айналу(3-сурет) – есепте немесе көрсетілген бетте берілген өлшемдердің орнын өзгерту операциясы. Мысалы, айналдыру операциясы кестенің жолдары мен бағандарын қайта реттеуді қамтуы мүмкін. Бұған қоса, деректер текшесін айналдыру кестеден тыс өлшемдерді көрсетілген бетте бар өлшемдері бар орнына жылжытады және керісінше.

    Жалпы, бүгінгі күні OLAP не екенін әрбір маман біледі. Кем дегенде, «OLAP» және «көп өлшемді деректер» ұғымдары біздің санамызда тығыз байланысты. Осыған қарамастан, бұл тақырыптың қайтадан көтерілу фактісі оқырмандардың көпшілігімен мақұлданады деп үміттенемін, өйткені бір нәрсе туралы идея уақыт өте келе ескірмеу үшін сіз мезгіл-мезгіл байланысып тұруыңыз керек. ақылды адамдарнемесе жақсы басылымдағы мақалаларды оқыңыз...

    Деректер қоймалары (OLAP орны ақпараттық құрылымкәсіпорындар)

    «OLAP» термині «деректер қоймасы» (Data Warehouse) терминімен тығыз байланысты.

    Деректер қоймасының «негізін қалаушы» Билл Инмон тұжырымдаған анықтамасы мынада: «Деректер қоймасы – басқару шешімдерін қабылдауды қолдау үшін доменге тән, уақытқа байланысты, өзгермейтін деректер жинағы».

    Қоймадағы деректер бизнес-процестерді автоматтандыруға арналған операциялық жүйелерден (OLTP жүйелері) келеді. Сонымен қатар, репозиторийді статистикалық есептер сияқты сыртқы көздерден толықтыруға болады.

    Неліктен деректер қоймаларын құру керек - оларда дерекқорларда немесе операциялық жүйе файлдарында «өмір сүретін» анық артық ақпарат бар? Жауап қысқа болуы мүмкін: операциялық жүйелерден деректерді тікелей талдау мүмкін емес немесе өте қиын. Бұл әртүрлі себептерге байланысты, соның ішінде деректердің фрагменттелуі, оның әртүрлі ДҚБЖ форматтарында және корпоративтік желінің әртүрлі «бұрыштарында» сақталуы. Бірақ егер кәсіпорын өзінің барлық деректерін орталық дерекқор серверінде сақтаса да (бұл өте сирек), талдаушы олардың күрделі, кейде шатастыратын құрылымдарын түсінбейді. Автордың аш аналитиктерді операциялық жүйелерден алынған «шикі» деректермен «тамақтандыруға» тырысқанда өте өкінішті тәжірибесі бар - бұл олар үшін «тым көп» болып шықты.

    Осылайша, репозиторийдің мақсаты – талдау үшін «шикізаттарды» бір жерде және қарапайым, түсінікті құрылымда қамтамасыз ету. Ральф Кимбалл өзінің «Деректер қоймасының құралдар жинағы» кітабының алғы сөзінде, егер кітапты толық оқып шыққаннан кейін оқырман бір ғана нәрсені түсінсе, яғни қойма құрылымы қарапайым болуы керек - автор өзінің тапсырма орындалды.

    Жеке репозиторийдің пайда болуын негіздейтін тағы бір себеп бар - күрделі аналитикалық сұраулар операциялық ақпаратақырындау ағымдағы жұмыскомпаниялар, кестелерді ұзақ уақыт блоктау және сервер ресурстарын басып алу.

    Менің ойымша, репозиторий міндетті түрде деректердің үлкен жинақталуын білдірмейді - ең бастысы, ол талдауға ыңғайлы. Жалпы айтқанда, шағын сақтау орындарының жеке термині бар - Data Marts (деректер киосктары), бірақ біздің ресейлік тәжірибеде сіз оны жиі ести бермейсіз.

    OLAP - ыңғайлы талдау құралы

    Орталықтандыру және ыңғайлы құрылымдау аналитикке қажет нәрсе емес. Оған әлі де ақпаратты көру және визуализациялау құралы қажет. Дәстүрлі есептер, тіпті бір репозиторийде жасалған есептерде бір нәрсе жетіспейді - икемділік. Деректердің қажетті көрінісін алу үшін оларды «бұралуға», «кеңейтуге» немесе «жиыруға» болмайды. Әрине, сіз бағдарламашыға қоңырау шала аласыз (егер ол келгісі келсе), ол (егер ол бос емес болса) жаңа есепті тез жасайды - айталық, бір сағат ішінде (мен мұны жазып жатырмын және мен сенбеймін) бұл өмірде бұл тез болмайды, оған үш сағат берейік) . Аналитик күніне екі идеядан артық емес сынай алады екен. Және ол (егер ол жақсы талдаушы болса) сағатына бірнеше осындай идеяларды ұсына алады. Ал талдаушы деректердің «кесінділері» мен «бөлімдерін» қаншалықты көп көретін болса, соғұрлым оның идеялары көп болады, бұл өз кезегінде тексеру үшін көбірек «кесінділерді» қажет етеді. Тек оның деректерді жай және ыңғайлы түрде кеңейтіп, қысқартуға мүмкіндік беретін құралы болса ғой! OLAP мұндай құрал ретінде әрекет етеді.

    OLAP деректер қоймасының қажетті атрибуты болмаса да, ол қоймада жинақталған ақпаратты талдау үшін көбірек қолданылады.

    Әдеттегі репозиторийге кіретін компоненттер суретте көрсетілген. 1.

    Күріш. 1. Мәліметтер қоймасының құрылымы

    Операциялық деректер әртүрлі көздерден жиналады, тазартылады, біріктіріледі және реляциялық дүкенде сақталады. Сонымен қатар, олар әртүрлі есеп беру құралдарын пайдаланып талдау үшін қол жетімді. Содан кейін деректер (толық немесе ішінара) OLAP талдауына дайындалады. Оларды арнайы OLAP дерекқорына жүктеуге немесе реляциялық жадта сақтауға болады. Оның ең маңызды элементі – метадеректер, яғни мәліметтердің құрылымы, орналасуы және түрленуі туралы ақпарат. Олардың арқасында әртүрлі сақтау компоненттерінің тиімді өзара әрекеттесуі қамтамасыз етіледі.

    Қорытындылай келе, OLAP-ты қоймада жинақталған деректерді көп өлшемді талдауға арналған құралдар жиынтығы ретінде анықтауға болады. Теориялық тұрғыдан OLAP құралдарын операциялық деректерге немесе олардың нақты көшірмелеріне тікелей қолдануға болады (операциялық пайдаланушыларға кедергі келтірмеу үшін). Бірақ біз осылайша жоғарыда сипатталған рейске басуға тәуекел етеміз, яғни талдауға тікелей жарамсыз операциялық деректерді талдауды бастаймыз.

    OLAP анықтамасы және негізгі түсініктері

    Алдымен, шифрды ашайық: OLAP - бұл онлайн аналитикалық өңдеу, яғни операциялық деректерді талдау. OLAP-тың 12 анықтаушы қағидасын 1993 жылы реляциялық деректер қорының «өнертапқышы» Э.Ф.Кодд тұжырымдаған. Кейінірек оның анықтамасы OLAP қосымшасы ортақ көпөлшемді ақпаратты жылдам талдау мүмкіндігін қамтамасыз етуді талап ететін FASMI тестіне қайта өңделді ().

    FASMI сынағы

    Жылдам(Жылдам) – талдау ақпараттың барлық аспектілері бойынша бірдей жылдам жүргізілуі керек. Қолайлы жауап беру уақыты 5 секунд немесе одан аз.

    Талдау(Талдау) – қосымшаны әзірлеуші ​​алдын ала анықтайтын немесе пайдаланушы еркін анықтайтын сандық және статистикалық талдаудың негізгі түрлерін жүзеге асыру мүмкіндігі болуы керек.

    Ортақ(Ортақ) - құпия ақпаратқа қол жеткізуді бақылау қажет болған кезде көптеген пайдаланушылар деректерге қол жеткізуі керек.

    Көпөлшемді(Көпөлшемді) OLAP-тың негізгі, ең маңызды сипаттамасы болып табылады.

    ақпарат(Ақпарат) - қолданба көлемі мен сақтау орнына қарамастан кез келген қажетті ақпаратқа қол жеткізе алуы керек.

    OLAP = Көпөлшемді көрініс = Текше

    OLAP іскери ақпаратқа қол жеткізудің, қараудың және талдаудың ыңғайлы, жылдам құралдарын ұсынады. Пайдаланушы оларды көп өлшемді текшелер (текшелер) түрінде ұйымдастыра отырып, табиғи, интуитивті деректер үлгісін алады. Көпөлшемді координаттар жүйесінің осьтері талданатын бизнес-процестің негізгі атрибуттары болып табылады. Мысалы, сату үшін бұл өнім, аймақ, сатып алушы түрі болуы мүмкін. Уақыт өлшемдердің бірі ретінде пайдаланылады. Осьтердің қиылысында - өлшемдер (Өлшемдер) - процесті сандық сипаттайтын деректер - өлшемдер (Мечерлер). Бұл бөліктермен немесе ақшалай түрде сату көлемі, қор қалдықтары, шығындар және т.б. болуы мүмкін. Ақпаратты талдайтын пайдаланушы текшені «қиып» алады. әртүрлі бағыттар, қорытындылау (мысалы, жыл бойынша) немесе керісінше, егжей-тегжейлі (апта бойынша) ақпарат алу және талдау процесінде оның ойына келетін басқа да манипуляцияларды жүзеге асыру.

    Суретте көрсетілген үш өлшемді текшедегі өлшемдер ретінде. 2, сатылым сомалары пайдаланылады, ал өлшемдер ретінде уақыт, өнім және дүкен пайдаланылады. Өлшемдер топтастырудың белгілі деңгейлерінде ұсынылған: өнімдер санат бойынша, дүкендер ел бойынша және транзакция уақыты деректері ай бойынша топтастырылған. Біраз уақыттан кейін топтастыру (иерархия) деңгейлерін толығырақ қарастырамыз.


    Күріш. 2. Текше мысалы

    Текшені «кесу».

    Тіпті үш өлшемді текшені де қызықтыратын өлшемдердің мәндері көрінетіндей етіп компьютер экранында көрсету қиын. Үш өлшемнен артық текшелер туралы не айта аламыз? Текшеде сақталған деректерді визуализациялау үшін, әдетте, күрделі иерархиялық жол және баған тақырыптары бар таныс екі өлшемді, яғни кестелік көріністер пайдаланылады.

    Текшенің екі өлшемді көрінісін оны бір немесе бірнеше осьтер (өлшемдер) бойынша «кесу» арқылы алуға болады: біз екеуінен басқа барлық өлшемдердің мәндерін бекітеміз және біз кәдімгі екі өлшемді кестені аламыз. Кестенің көлденең осі (баған тақырыптары) бір өлшемді, тік осі (жол тақырыптары) басқасын, ал кесте ұяшықтары өлшемдердің мәндерін білдіреді. Бұл жағдайда өлшемдер жиынтығы іс жүзінде өлшемдердің бірі ретінде қарастырылады - біз не көрсету үшін бір өлшемді таңдаймыз (содан кейін жол және баған тақырыптарына екі өлшемді орналастыра аламыз) немесе бірнеше өлшемді (содан кейін бір өлшемді) көрсетеміз. кесте осьтері өлшемдердің атауларымен, ал екіншісінде - жалғыз «кесілмеген» өлшемнің мәндері болады).

    Суретке қараңыз. 3 - міне, бір өлшемге арналған текшенің екі өлшемді тілім - Бірлік сатылымы (сатылатын бөліктер) және екі "кесілмеген" өлшем - Дүкен (Дүкен) және Уақыт (Уақыт).


    Күріш. 3. Бір өлшемге арналған 2D текше тілімі

    Суретте. 4-суретте тек бір ғана «кесілмеген» өлшем көрсетілген - Дүкен, бірақ ол бірнеше өлшемдердің мәндерін көрсетеді - бірлікті сату (сатылған бірліктер), дүкендегі сатылымдар (сатылым сомасы) және дүкен құны (дүкен шығындары).


    Күріш. 4. Бірнеше өлшемдерге арналған 2D текше бөлігі

    Текшенің екі өлшемді көрінісі екіден көп өлшем «кесілмеген» күйде қалған кезде де мүмкін болады. Бұл жағдайда «кесілген» текшенің екі немесе одан да көп өлшемдері кесінді осьтеріне (жолдар мен бағандар) орналастырылады - суретті қараңыз. 5.


    Күріш. 5. Бір осьте бірнеше өлшемдері бар 2D текше кесіндісі

    Тегтер

    Өлшемдер бойымен «орналастырылған» мәндер мүшелер немесе белгілер деп аталады. Белгілер текшені «қию» үшін де, таңдалған деректерді шектеу (сүзу) үшін де пайдаланылады - «кесілмеген» өлшемде бізді барлық мәндер қызықтырмайды, бірақ олардың ішкі жиыны, мысалы, үш қала бірнеше ондаған ішінен. Белгі мәндері 2D текше көрінісінде жол және баған тақырыптары ретінде пайда болады.

    Иерархиялар мен деңгейлер

    Белгілерді бір немесе бірнеше деңгейден тұратын иерархияларға біріктіруге болады. Мысалы, Дүкен өлшемінің белгілері деңгейлері бар иерархияға табиғи түрде топтастырылған:

    Ел

    Мемлекет

    Қала

    Дүкен.

    Жиынтық мәндер иерархиялық деңгейлерге сәйкес есептеледі, мысалы АҚШ үшін («Ел» деңгейі) немесе Калифорния үшін («штат» деңгейі) сату көлемі. Бір өлшемде бірнеше иерархияны жүзеге асыруға болады – айталық, уақыт бойынша: (Жыл, Тоқсан, Ай, Күн) және (Жыл, Апта, Күн).

    OLAP қолданбаларының архитектурасы

    OLAP туралы жоғарыда айтылғандардың бәрі деректердің көп өлшемді көрсетіліміне қатысты. Деректердің қалай сақталатыны, шамамен айтқанда, соңғы пайдаланушыға да, клиент пайдаланатын құралды әзірлеушілерге де қатысты емес.

    OLAP қолданбаларындағы көп өлшемділікті үш деңгейге бөлуге болады:

    • Көпөлшемді деректерді ұсыну – көпөлшемді визуализацияны және деректерді өңдеуді қамтамасыз ететін соңғы пайдаланушы құралдары; қабат көпөлшемді бейнелеудеректердің физикалық құрылымынан абстракциялайды және деректерді көп өлшемді ретінде қабылдайды.
    • Көпөлшемді өңдеу – көпөлшемді сұраныстарды құрастыруға арналған құрал (тіл) (дәстүрлі реляциялық SQL тілімұнда жарамсыз болып шықты) және мұндай сұранысты өңдеуге және орындауға қабілетті процессор.
    • Көпөлшемді сақтау көпөлшемді сұраулардың тиімді орындалуын қамтамасыз ететін деректерді физикалық түрде ұйымдастыру құралы болып табылады.

    Алғашқы екі деңгей барлық OLAP құралдарында міндетті болып табылады. Үшінші деңгей, кең таралған болса да, қажет емес, өйткені көпөлшемді бейнелеуге арналған деректерді кәдімгі реляциялық құрылымдардан алуға болады; Көпөлшемді сұрау процессоры бұл жағдайда көпөлшемді сұрауларды реляциялық ДҚБЖ орындайтын SQL сұрауларына аударады.

    Арнайы OLAP өнімдері, әдетте, көпөлшемді деректерді көрсету құралы, OLAP клиенті (мысалы, Microsoft корпорациясының Excel 2000 жүйесіндегі жиынтық кестелері немесе Knosys ұсынған ProClarity) немесе көп өлшемді сервер ДҚБЖ, OLAP сервері (мысалы, Oracle) Экспресс сервер немесе Microsoft OLAP қызметтері).

    Көпөлшемді өңдеу қабаты әдетте OLAP клиентіне және/немесе OLAP серверіне орнатылады, бірақ оның таза түрінде оқшаулануы мүмкін, мысалы, Microsoft компаниясының жиынтық кесте қызметі компоненті.

    Көпөлшемді мәліметтерді сақтаудың техникалық аспектілері

    Жоғарыда айтылғандай, OLAP талдау құралдары реляциялық жүйелерден деректерді тікелей шығара алады. Бұл тәсіл OLAP серверлері жетекші ДҚБЖ өндірушілерінің баға тізімдеріне қосылмаған кезде анағұрлым тартымды болды. Бірақ бүгінде Oracle, Informix және Microsoft толыққанды OLAP серверлерін ұсынады, тіпті өз желілерінде әртүрлі өндірушілердің бағдарламалық жасақтамасының «хайуанаттар бағын» құруды ұнатпайтын АТ менеджерлері де сатып ала алады (дәлірек айтсақ, тиісті сұрауды жібере алады). компания басшылығы ) негізгі дерекқор серверімен бір брендтің OLAP сервері.

    OLAP серверлері немесе көп өлшемді дерекқор серверлері өздерінің көп өлшемді деректерін әртүрлі тәсілдермен сақтай алады. Осы әдістерді қарастырмас бұрын, бірліктерді сақтау сияқты маңызды аспект туралы айту керек. Кез келген деректер қоймасында – қарапайым да, көп өлшемді де – операциялық жүйелерден алынған егжей-тегжейлі деректермен қатар жиынтық көрсеткіштер де (жиынтық көрсеткіштер, жинақтаулар) сақталады, мысалы, айлар бойынша, тауарлар санаттары бойынша сату көлемінің сомасы және т.б. . Агрегаттар сұрауларды орындауды жылдамдату мақсатында ғана сақталады. Өйткені, бір жағынан, әдетте, қоймада деректердің өте үлкен көлемі жинақталады, ал екінші жағынан, талдаушылар көп жағдайда егжей-тегжейлі емес, жалпылама көрсеткіштерге қызығушылық танытады. Ал егер жылдағы жалпы сатылымдарды есептеу үшін әр жолы миллиондаған жеке сатылымдарды қосу керек болса, жылдамдық мүмкін болмас еді. Сондықтан көпөлшемді деректер қорына деректерді жүктегенде барлық жалпы көрсеткіштер немесе олардың бір бөлігі есептеледі және сақталады.

    Бірақ, өзіңіз білетіндей, сіз бәрін төлеуіңіз керек. Ал жиынтық деректерге сұраныстарды өңдеу жылдамдығы үшін деректер көлемін және оларды жүктеу уақытын ұлғайту үшін төлеуге тура келеді. Оның үстіне, көлемнің ұлғаюы сөзбе-сөз апатты болуы мүмкін - жарияланғандардың бірінде стандартталған сынақтар 10 МБ бастапқы деректер үшін жиынтықтарды толық есептеу үшін 2,4 ГБ қажет, яғни деректер 240 есе өсті! Агрегаттарды есептеу кезінде деректердің «ісінуінің» дәрежесі текше өлшемдерінің санына және осы өлшемдердің құрылымына, яғни әртүрлі өлшем деңгейлеріндегі «әкелер» мен «балалар» санының қатынасына байланысты. Агрегаттарды сақтау мәселесін шешу үшін кейде барлық мүмкін емес агрегаттарды есептеу кезінде сұрау өнімділігін айтарлықтай арттыруға мүмкіндік беретін күрделі схемалар қолданылады.

    Енді ақпаратты сақтаудың әртүрлі нұсқалары туралы. Түйіршіктелген деректер де, агрегаттар да қатынастық немесе көп өлшемді құрылымдарда сақталуы мүмкін. Көпөлшемді сақтау деректерді көп өлшемді массив ретінде қарастыруға мүмкіндік береді, ол жалпы көрсеткіштердің бірдей жылдам есептеулерін және өлшемдердің кез келгені бойынша әртүрлі көп өлшемді түрлендірулерді қамтамасыз етеді. Біраз уақыт бұрын OLAP өнімдері қатынасты немесе көп өлшемді жадты қолдады. Бүгінгі күні, әдетте, бір өнім сақтаудың осы екі түрін де, сондай-ақ үшінші түрі - аралас қамтамасыз етеді. Келесі шарттар қолданылады:

    • МОЛАП(Көпөлшемді OLAP) – егжей-тегжейлі деректер де, агрегаттар да көпөлшемді дерекқорда сақталады. Бұл жағдайда ең үлкен артықшылық алынады, өйткені көп өлшемді деректер реляциялық деректерді толығымен қамтиды.
    • ROLAP(Relational OLAP) - егжей-тегжейлі деректер бастапқыда «тұрған» жерде қалады - реляциялық деректер базасында; агрегаттар бір дерекқорда арнайы жасалған қызмет көрсету кестелерінде сақталады.
    • ХОЛАП(Гибридті OLAP) – егжей-тегжейлі деректер орнында қалады (реляциялық деректер базасында), ал жиынтықтар көпөлшемді дерекқорда сақталады.

    Бұл әдістердің әрқайсысының өзіндік артықшылықтары мен кемшіліктері бар және оларды шарттарға байланысты қолдану керек - деректер көлемі, реляциялық ДҚБЖ қуаты және т.б.

    Көпөлшемді құрылымдарда деректерді сақтау кезінде бос мәндерді сақтауға байланысты «блоат» ықтимал проблемасы бар. Ақыр соңында, егер көп өлшемді массивте өлшем белгілерінің барлық мүмкін комбинациялары үшін кеңістік сақталған болса, бірақ шын мәнінде аз ғана бөлігі толтырылған болса (мысалы, бірқатар өнімдер тек аз ғана аймақтарда сатылады), онда олардың көпшілігі текше бос болады, бірақ орын бос болады. Қазіргі OLAP өнімдері бұл мәселені шеше алады.

    Жалғасы бар. Болашақта жетекші өндірушілер шығаратын нақты OLAP өнімдері туралы айтатын боламыз.

    07.04.2011 Дерек Комингор

    Технологияға қатысты кез келген салада жұмыс істеген болсаңыз, «текше» терминін естіген боларсыз; дегенмен, қарапайым дерекқор әкімшілері мен әзірлеушілерінің көпшілігі бұл нысандармен жұмыс істемеді. Текшелер көп өлшемді ақпаратты жылдам біріктіру үшін қуатты деректер архитектурасын қамтамасыз етеді. Егер сіздің ұйымыңызға деректердің үлкен көлемін талдау қажет болса, онда идеалды шешімол текше болады

    Текше дегеніміз не?

    Реляциялық дерекқорлар өнімділік пен деректер тұтастығын сақтай отырып, мыңдаған бір мезгілде транзакцияларды өңдеуге арналған. Дизайн бойынша реляциялық дерекқорлар деректердің үлкен көлемін жинақтау және іздеуде тиімді емес. Деректердің үлкен көлемін біріктіру және қайтару үшін реляциялық дерекқор жиынға негізделген сұрауды қабылдауы керек, ол үшін ақпарат жылдам жиналып, біріктіріледі. Мұндай реляциялық сұраулар өте қымбат, себебі олар бірнеше біріктірулерге және агрегаттық функциялар; Жиынтық реляциялық сұраулар үлкен көлемдегі деректермен жұмыс істегенде әсіресе тиімсіз.

    Текшелер реляциялық дерекқорлардағы осы тапшылықты жоюға арналған көп өлшемді нысандар болып табылады. Текшені пайдалану арқылы пайдаланушыларды үлкен жинақтау көлемдері бар сұрауларға жылдам жауап беретін деректер құрылымымен қамтамасыз ете аласыз. Текшелер бұл «жинақтау сиқырын» алдымен бірнеше өлшемдер бойынша деректерді (өлшемдерді) біріктіру арқылы орындайды. Текшені алдын ала біріктіру әдетте өңдеу кезінде жүзеге асырылады. Текшені өңдегенде, дискіде екілік пішімде сақталатын алдын ала есептелген деректер жинақтауларын жасайсыз.

    Текше орталық деректер құрылымы болып табылады операциялық жүйе SQL Server Analytical Services (SSAS) OLAP деректерін талдау. Текшелер әдетте өлшемдік үлгі деп аталатын негізгі қатысты дерекқордан құрастырылады, бірақ бөлек техникалық нысандар болып табылады. Логикалық тұрғыдан текше өлшемдерден (өлшемдерден) және өлшемдерден (өлшемдерден) тұратын деректер қоймасы болып табылады. Өлшемдерде сипаттамалық мүмкіндіктер мен иерархиялар бар, ал өлшемдер өлшемдерде сипаттайтын фактілер болып табылады. Өлшемдер өлшем топтары деп аталатын логикалық комбинацияларға топтастырылған. Сіз өлшемдерді сипаттамаға - егжей-тегжейлі дәрежесіне негізделген өлшем топтарына байланыстырасыз.

    IN файлдық жүйетекше байланыстырылған екілік файлдар тізбегі ретінде орындалады. Текшенің екілік архитектурасы көп өлшемді деректердің үлкен көлемін жылдам шығаруды жеңілдетеді.

    Мен текшелердің өлшемдік үлгі деп аталатын негізгі реляциялық дерекқордан жасалғанын айттым. Өлшем үлгісі оны текше нысандарына қосатын қатысты кестелерді (факт пен өлшем) қамтиды. Факт кестелерінде сатылған өнімнің саны сияқты өлшемдер бар. Өлшем кестелері өнім атаулары, күндер және қызметкер аттары сияқты сипаттамалық атрибуттарды сақтайды. Әдетте, факт кестелері мен өлшем кестелері дерек кестесінде орналасқан сыртқы кілттермен бастапқы сыртқы кілт шектеулері арқылы байланысты (бұл қатынас қатынасы жоғарыда талқыланған текше түйіршіктілік төлсипатына қатысты). Өлшем кестелері фактілер кестесіне тікелей байланыстырылған кезде, жұлдызша схемасы құрылады. Өлшем кестелері фактілер кестесімен тікелей байланысты болмаса, нәтиже қар ұшқынының схемасы болады.

    Өлшемді модельдер қолданбаға қарай жіктелетінін ескеріңіз. Data mart – сатылымдар немесе қорларды басқару сияқты бір бизнес үдерісіне арналған өлшемді үлгі. Деректер қоймасы бизнес-процестерді талдауды жеңілдету үшін құрамдас бизнес-процестерді түсіруге арналған өлшемді үлгі болып табылады.

    Бағдарламалық қамтамасыз ету талаптары

    Енді сіз текшелердің не екенін және олардың не үшін маңызды екенін негізгі түсінген болсаңыз, мен редукторларды қосып, SSAS көмегімен бірінші текшені құру бойынша қадамдық турға апарамын. Кейбір негізгі компоненттер бар бағдарламалық қамтамасыз ету, ол сізге қажет, сондықтан бірінші текшені құруды бастамас бұрын, жүйеңіздің талаптарға сай келетініне көз жеткізіңіз.

    Менің мысалым Интернет сату текшесі AdventureWorksDW 2005 сынақ дерекқорынан құрастырылады. Мен сынақ текшесін Интернеттегі сату деректерін талдау үшін пайдалы болатын сынақ дерекқорында табылған кестелер жиынынан құрастырамын. 1-суретте деректер қоры кестелерінің негізгі орналасуы көрсетілген. Мен 2005 нұсқасын пайдаланып жатқандықтан, менің нұсқауларымды SQL Server 2005 немесе SQL Server 2008 арқылы орындауға болады.

    Сурет 1. Adventure Works Internet Sales деректер мартының ішкі жиыны

    Adventure WorksDW 2005 оқу дерекқорын CodePlex веб-сайтынан табуға болады: msftdbprodsamples.codeplex.com. «SQL Server 2005 өнім үлгісі дерекқорлары әлі де қолжетімді» сілтемесін табыңыз (http://codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=4004). Жаттығу дерекқоры AdventureWorksBI.msi файлында (http://msftdbprodsamples.codeplex.com/releases/view/4004#DownloadId=11755) қамтылған.

    Жоғарыда айтылғандай, SSAS және Business Intelligence Development Studio (BIDS) құрамдастарын қоса, SQL Server 2008 немесе 2005 данасына қатынасыңыз болуы керек. Мен SQL Server 2008 қолданатын боламын, сондықтан SQL Server 2005 пайдалансаңыз, кейбір нәзік айырмашылықтарды көре аласыз.

    SSAS жобасын құру

    Біріншіден, BIDS көмегімен SSAS жобасын жасау керек. «Бастау» мәзірінен, содан кейін мәзірден BIDS табыңыз Microsoft SQL Server 2008/2005 ішкі тармағы SQL Server Business Intelligence Development Studio. Бұл түймені басу әдепкі экран экранымен BIDS іске қосады. Жасау жаңа жобаФайл, Жаңа, Жоба таңдау арқылы SSAS. Жаңа жоба тілқатысу терезесін көресіз, ол 1-суретте Analysis Services жобасы қалтасын таңдап, жоба сипаттамасын SQLMAG_MyFirstCube етіп орнатыңыз. OK түймесін басыңыз.

    Жоба жасалғаннан кейін оны Solution Explorer бағдарламасында тінтуірдің оң жақ түймешігімен басып, таңдаңыз контекстік мәзірҚасиеттер элементі. Енді SQLMAG_MyFirstCube: Сипат беттері тілқатысу терезесінің сол жағындағы Орналастыру бөлімін таңдап, 2-суретте көрсетілгендей, мақсатты сервер мен дерекқор параметрлерін қарап шығыңыз сіз орналастыратын сервер атауы бар мақсатты сервер сипаты. Осы SSAS жобасының орналастыру параметрлеріне риза болған кезде OK түймесін басыңыз.

    Деректер көзін анықтау

    Жасау керек бірінші нысан - деректер көзі. Деректер көзінің нысаны текшемен және негізінде байланыстырылған нысандарды құру үшін пайдаланылатын схема мен деректерді қамтамасыз етеді. BIDS жүйесінде деректер көзі нысанын жасау үшін, бастапқы шеберді пайдаланыңыз ДеректерДереккөз шебері.

    Деректер көзі шеберін Solution Explorer тақтасындағы Деректер көзі қалтасын тінтуірдің оң жақ түймешігімен басып, Жаңа деректер көзін таңдау арқылы іске қосыңыз. BIDS жүйесінде SSAS нысандарын жасау даму сипатына ие екенін көресіз. Шебер алдымен нысанды жасау процесі мен жалпы параметрлерді көрсетеді. Содан кейін сіз дизайнерде алынған SSAS нысанын ашасыз және қажет болса, оны егжей-тегжейлі теңшейсіз. Шақыру экранынан өткеннен кейін Жаңа түймешігін басу арқылы жаңа деректер қосылымын анықтаңыз. Қажетті біреуін көрсететін Native OLEDB\SQL Server Native Client 10 негізінде жаңа қосылымды таңдаңыз және жасаңыз SQL серверіҚажетті дерекқор данасына иелік ететін сервер. SQL Server ортасының параметрлеріне байланысты Windows немесе SQL серверінің аутентификациясын пайдалануға болады. Дерекқор қосылымын дұрыс анықтағаныңызға көз жеткізу үшін Қосылымды тексеру түймесін басыңыз, содан кейін OK түймешігін басыңыз.

    Одан кейін деректерді байланыстыру сияқты SQL Server ортасының құрылымдық құрылымына байланысты Еліктеу туралы ақпарат келеді. Артықшылықты қарыз алу SSAS өз нысандарын өңдеу кезінде сүйенетін қауіпсіздік контексті болып табылады. Егер сіз негізгі, жалғыз серверде (немесе ноутбукте) орналастыруды басқарып жатсаңыз, менің ойымша, оқырмандардың көпшілігі осындай болады, сіз жай ғана Қызмет тіркелгісін пайдалану опциясын таңдай аласыз. Деректер көзі шеберін аяқтау және AWDW2005 дереккөзінің атауы ретінде орнату үшін Келесі түймесін басыңыз. Бұл әдісті тестілеу мақсатында қолдануға болатыны өте ыңғайлы, бірақ нақты өндірістік ортада бұл ең көп емес. үздік тәжірибе- қызмет есептік жазбасын пайдалану. Доменді көрсеткен дұрыс Есепдеректер көзіне SSAS қосылым құқықтарын қарызға алу.

    Деректер көзі көрінісі

    Сіз анықтаған деректер көзі үшін SSAS текшесін құру процесіндегі келесі қадам Деректер көзі көрінісін (DSV) жасау болып табылады. DSV текшеңіз негізгі дерекқордан күтетін схеманы бөлу мүмкіндігін береді. Нәтижеде, DSV текшені құрастырған кезде негізгі реляциялық схеманы кеңейту үшін пайдаланылуы мүмкін. Деректер көзі схемаларын кеңейтуге арналған DSV бағдарламасының кейбір негізгі мүмкіндіктеріне аталған сұраулар, кестелер арасындағы логикалық байланыстар және аталған есептелген бағандар кіреді.

    Жаңа DSV көрінісін жасау шеберін іске қосу үшін DSV қалтасын тінтуірдің оң жақ түймешігімен басып, Жаңа деректер көзі көрінісін таңдаңыз. Тілқатысу терезесінде Деректер көзін таңдау қадамында қатысты дерекқор қосылымын таңдап, Келесі түймешігін басыңыз. FactInternetSales, DimProduct, DimTime, DimCustomer кестелерін таңдап, осы кестелерді Қосылған бағанға жылжыту үшін жалғыз оң жақ көрсеткі түймешігін басыңыз. Соңында «Келесі» түймесін басып, әдепкі атауды қабылдап, «Аяқтау» түймесін басу арқылы шеберді аяқтаңыз.

    Осы кезде сізде Solution Explorer ішіндегі Деректер көзі көріністері қалтасының астында орналасқан DSV көрінісі болуы керек. DSV дизайнерін іске қосу үшін жаңа DSV түймесін екі рет басыңыз. 2-суретте көрсетілгендей, берілген DSV үшін барлық төрт кестені көруіңіз керек.

    Мәліметтер қорының өлшемдерін жасау

    Жоғарыда түсіндіргендей, өлшемдер мәліметтер деңгейінен жоғары біріктіруді қосу үшін пайдаланылатын өлшемдер мен иерархиялардың сипаттамалық мүмкіндіктерін береді. Дерекқор өлшемі мен текше өлшемі арасындағы айырмашылықты түсіну маңызды: дерекқордағы өлшемдер текшені құрастыру үшін пайдаланылатын текшенің бірнеше өлшемдері үшін негізгі өлшем нысандарын қамтамасыз етеді.

    Дерекқор және текше өлшемдері "рөл өлшемдері" ретінде белгілі тұжырымдамаға талғампаз шешімді береді. Рөлге негізделген өлшемдер текшедегі жалғыз өлшемді бірнеше рет пайдалану қажет болғанда пайдаланылады. Күн осы текше данасында тамаша мысал болып табылады: сіз жалғыз күн өлшемін құрасыз және оған онлайн сатылымдарды талдағыңыз келетін әрбір күн үшін бір рет сілтеме жасайсыз. Күнтізбе күні сіз жасаған бірінші өлшем болады. Өлшем шеберін іске қосу үшін Solution Explorer ішіндегі Өлшемдер қалтасын тінтуірдің оң жақ түймешігімен басып, Жаңа өлшемді таңдаңыз. «Бар кестені пайдалану» опциясын таңдап, «Жасау әдісін таңдау» қадамында «Келесі» түймесін басыңыз. Бастапқы ақпаратты көрсету қадамында Негізгі кесте ашылмалы тізімінде DimTime кестесін көрсетіп, «Келесі» түймесін басыңыз. Енді өлшем төлсипаттарын таңдау қадамында уақыт өлшемінің төлсипаттарын таңдау керек. 3-суретте көрсетілгендей әрбір төлсипатты таңдаңыз.

    Келесі түймесін басыңыз. Соңғы қадам ретінде Атау өрісіне күңгірттенген күнді енгізіп, өлшем шеберін аяқтау үшін Аяқтау түймесін басыңыз. Енді Solution Explorer ішіндегі Өлшемдер қалтасының астында орналасқан жаңа күңгірттенген күн өлшемін көруіңіз керек.

    Содан кейін өнім мен тұтынушы өлшемдерін жасау үшін Өлшем шеберін пайдаланыңыз. Бұрынғыдай негізгі өлшемді жасау үшін бірдей қадамдарды орындаңыз. Өлшем шеберімен жұмыс істегенде, Өлшем атрибуттарын таңдау қадамында барлық ықтимал төлсипаттарды таңдағаныңызға көз жеткізіңіз. Басқа параметрлерге арналған әдепкі мәндер сынақ текше данасы үшін жақсы.

    Интернетте сату текшесін жасау

    Енді дерекқор өлшемдерін дайындағаныңыздан кейін текшені құруға кірісуге болады. Solution Explorer бағдарламасында Текшелер қалтасын тінтуірдің оң жақ түймешігімен басып, Текше шеберін іске қосу үшін Жаңа текшені таңдаңыз. Жасау әдісін таңдау терезесінде Бар кестелерді пайдалану опциясын таңдаңыз. Өлшем тобының кестелерін таңдау қадамында өлшем тобы үшін FactInternetSales кестесін таңдаңыз. Өлшемдерді таңдау қадамындағы Жеңілдік кілті, Валюта кілті, Сату аумағы кілті және Түзету нөмірі өлшемдерінің жанындағы құсбелгілерді алып тастап, Келесі түймешігін басыңыз.

    Бар өлшемдерді таңдау экранында бар дерекқор өлшемдерінің текше өлшемдері ретінде пайдалану үшін таңдалғанына көз жеткізіңіз. Мен бұл текшені мүмкіндігінше қарапайым сақтағым келгендіктен, Жаңа өлшемдерді таңдау қадамында FactInternetSales өлшемін таңдаудан бас тартыңыз. FactInternetSales өлшемін таңдалған қалдыру арқылы сіз факт өлшемі немесе нашарлау өлшемі деп аталатын нәрсені жасайсыз. Факті өлшемдері - дәстүрлі өлшемдер кестесінен айырмашылығы негізгі фактілер кестесін пайдаланып жасалған өлшемдер.

    Шебер қадамын аяқтау үшін «Келесі» түймесін басып, «Менің бірінші текшем» өрісіне текше атауын енгізіңіз. Текше шеберін жасау процесін аяқтау үшін Аяқтау түймешігін басыңыз.

    Текшені кеңейту және өңдеу

    Енді сіз бірінші текшені орналастыруға және өңдеуге дайынсыз. Solution Explorer ішіндегі жаңа текше белгішесін тінтуірдің оң жақ түймешігімен басып, Процесс параметрін таңдаңыз. Мазмұнның ескіргені туралы хабар терезесін көресіз. Жаңа текшені мақсатты SSAS серверіне қолдану үшін Иә түймесін басыңыз. Текшені орналастырған кезде жібересіз XML файлысервердің өзінде текшені жасайтын мақсатты SSAS серверіне талдау (XMLA) үшін. Жоғарыда айтылғандай, текшені өңдеу оның екілік файлдарын дискідегі негізгі көзден алынған деректермен және сіз қосқан қосымша метадеректермен (текше өлшемдері, өлшемдер және параметрлер) толтырады.

    Орналастыру процесі аяқталғаннан кейін жаңа Процесс текшесі тілқатысу терезесі пайда болады. Процесс барысы терезесімен ашылатын текшені өңдеуді бастау үшін Іске қосу түймешігін басыңыз. Өңдеу аяқталған кезде, текшені орналастыру және өңдеу процестерін аяқтау үшін Жабу түймешігін басыңыз (екі тілқатысу терезесін де жабу үшін екі рет).

    Сіз енді бірінші текшені құрастырдыңыз, орналастырдыңыз және өңдедіңіз. Осы жаңа текшені Solution Explorer терезесінде тінтуірдің оң жақ түймешігімен басып, Шолу пәрменін таңдау арқылы көруге болады. Жаңа текшені зерттеу үшін өлшемдерді жиынтық кестенің ортасына және өлшем төлсипаттарын жолдар мен бағандарға сүйреңіз. Текшенің әртүрлі біріктіру сұрауларын қаншалықты жылдам өңдейтініне назар аударыңыз. Енді OLAP текшесінің шексіз қуатын, демек, іскери құндылығын бағалай аласыз.

    Дерек Комингор ( [электрондық пошта қорғалған]) бизнес-аналитика саласында Microsoft серіктесі мәртебесіне ие B.I. Voyage компаниясының аға сәулетшісі. SQL Server MVP атауы және бірнеше Microsoft сертификаттары бар





  • 
    Жоғарғы