modelowanie wielowymiarowych wyra¿eń w języku mdx

22
AUTOMATYKA 2010 Tom 14 Zeszyt 1 * Doktorant, Katedra Automatyki, Akademia Górniczo-Hutnicza w Krakowie 63 £ukasz Mazur* Modelowanie wielowymiarowych wyra¿eñ w jêzyku MDX 1. Wprowadzenie Jêzyk MDX (Multidimensional Expressions) jest jêzykiem specjalnie utworzonym w celu definiowania danych wielowymiarowych, jak te¿ operowania na nich. Jest tak¿e narzêdziem s³u¿¹cym do okrelania sposobu prezentacji danych o du¿ej z³o¿onoci struktu- ralnej. Na istniej¹cym rynku literatury informatycznej znajduje siê stosunkowo ma³o opra- cowañ zagadnieñ dotycz¹cych korzystania z jêzyka MDX. Poruszana w artykule tematyka modelowania jest bardzo istotna podczas wykonywania skomplikowanej analizy du¿ej ilo- ci danych, w rodowiskach przetwarzania analitycznego. Z tego wzglêdu, autor stworzy³ opracowanie wybranych konstrukcji modelowych, wraz z przyk³adowymi schematami ich zastosowañ. Opracowanie to zawiera zbiorcze zestawienie szeregu funkcji podzielonych na poszczególne kategorie, w których zosta³y zaproponowane przypadki ich u¿ycia. Dodatko- wo za³¹czono przemylenia autora wraz z wynikaj¹cymi z nich wnioskami. Przedstawiono tak¿e przyk³adowe modele konstrukcji analitycznych wykorzystywanych w rodowiskach produkcyjnych firm czy przedsiêbiorstw. Opisywana tematyka analiz g³ównie zorientowa- na jest na aspektach bud¿etowych, lecz z powodzeniem mo¿e byæ wykorzystywana tak¿e w innych sferach analiz dla podmiotu gospodarczego. Bardzo istotn¹ spraw¹, która zasygnalizowa³a powstanie tego nowego jêzyka, jest zorien- towanie na przetwarzanie wielowymiarowe oraz zorientowanie na tematycznoæ danych. Jest to odmienn¹ cech¹ od typowego jêzyka zapytañ bazodanowych SQL, w którym utworzenie podobnych konstrukcji jest bardzo k³opotliwe, a w wielu przypadkach wrêcz niemo¿liwe. Obecnie MDX staje siê odrêbnym standardem rozwijaj¹cym siê niezale¿nie od jêzyka SQL. 2. Bazowe elementy sk³adni 2.1. Zapytanie Zapytanie w MDX, podobnie jak w SQL, zawiera frazê SELECT (definiuj¹c¹ dane wynikowe), frazê FROM (definiuj¹c¹ kostkê wejciow¹) oraz frazê WHERE (okrelaj¹c¹

Upload: trannguyet

Post on 11-Jan-2017

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelowanie wielowymiarowych wyra¿eń w języku MDX

������������ ���� �������

� �������������������������� ������� �!"�� #��$%��� #��&�����& �

'(

)�����������

���������������� ���������������

������������

�������������

*+��� ��, -Multidimensional Expressions) .��� .+��� �� specjalnie utworzonymw celu definiowania danych wielowymiarowych, .�� ��/ operowania na nich. Jest ���/�na��+�� ���0�/1#��������23�� ��4���5�4�������#. danych���/�.�0�/���2# struktu-ralnej. N� ��� �.1#�������3 �������� �6������#���.���.��.�� +��������&���0o opra-#�&�7��8��� �7 ����#�1#�#9korzystania z .+������,:;��������w artykule tematykamodelowania jest bardzo istotna podczas wykonywania skomplikowanej analizy ��/�. 3�$2# �anych, &2����& ���#94����&����� ����3 ��#���8�:Z tego &�83+��, autor stwo���0�4�acowanie wybranych konstrukcji modelowych,&����4����0���&�� schematami ich�������&�7:�4��#�&�� �to zawiera zbiorcze zestawienie szeregu funkcji podzielonych naposzczególne kategorie,&��"��#9�����0���4��4���&���4���4��� #9�/�# �:�������$&���01#����4�����23�� �������&����&�� ��.1#�� �� #9&� ����� . Przed���& ������/� 4����0���&�����3� ��������#. ���3 ��#���#9&���������&���#9& 2�odowiskachprodukcyjnych firm czy 4����� +5 ����&. Opisywana �����������3 �80"&� ���� ����&�$�� .�������4����#95��/���&�#9� 3�#��4�&����� ����/�5�<&���������&��� ���/�& ���#9�6���#9���3 ��3�4��� ���8ospodarczego.

B����� �����1�4��&1�która za��8��3 ��&�0�4�&���� ���8���&�8�.+�����.������ ��$�o&�� ���4����&����� �& �3�&�� ���&�������� ����&�� ���������#���2<�anych. Jestto ��� ���1#�#91����4�&�8�.+������4���75�������&�#9=>?�&��"�����&���e� �4���5��#9 ��������#. .��� 5����� �0�4��3 &�, a & & �3� 4���4����#9 &�+#� � ���/3iwe.�5�#� ���,���.�� +���+5����������������& .�.1#��� +� ���3�/� ���.+����SQL.

������������� � ��!�"��

�����#��� ��

��4���� � & ��,� 4���5� � .�� & =>?� ��& ��� 6���+ =@?@A� -��6 � �.1#1 ����&��ikowe), fr��+BC��-��6 � �.1#1�����+&�.2# �&1D���� 6���+E%@C@ -����23�.1#1

Page 2: Modelowanie wielowymiarowych wyra¿eń w języku MDX

'� )����������

6 3���&�� � ����#9D:����+4��#9 .��� ���/�& �3� 6���#. �0�/1#�#9 ��&����� &�� � �a-nych i do operowania danymi. S�#��8"0�&� �����0� ��� �4 ���� & ��3���. #�+2# 4��#�.Mo/3 &�.������/�rozszerzanie funkcjonalno2# .+����4������6 � �&anie &0����#96���$

#. : Podstawowe w���/�� � &�5 ���.1#� ���� ��, �� ��0��� + przedsta& �.1#1 � + ��$

��+4u.1#�:

Definicja 1

������������������ ����

���������������� �����

������������������ ��������

B����=@?@A�����23�&�� ��&� �5 "� ���"��� ���� �4��"5 .�8� 4�������#. : ;�e-�����#.� �5 ��� ����23��� .��� 4�4���� 4���4���1���&�� � elementom osi(axis) punktówprzestrzeni wielowymiarowej. Istnieje maksymalnie do 128 osi, którym ��815�<przypisa-ne numery, a po�����4 +<4 ��&���#9�� ��4���4 ����dodatkowo nazwy [7]:

�������������������

������������ ���

!������"����#����

$������������

%����&������'

E��/���4���4�����2��/�5�< �����6 ��&�����4���#1&���/�� �AXIS(IN-DEKS), gdzie INDEKS .��� 3 #�51#�0��& �1�4����� �0�F�� �GH:�5 ���4��k�"&��81

5�<4���&��� .�&� � 3�5�4�#�6 ��&����&���������� �������8�6���#. :=4�#�6 ��#.�

�� ������+4�.1#1��0�d� +I

Definicja 2

����������� �����(()��"*�+� ����+ ��������" � ����

���" � ����(()��� ���,�����,�������,���������,����������,���������-����

�������$���� ��������! �

��4���#1.+������,��/na ���"&����6 � �&�<��������+����� �&�4�0� �<�a��$

� ����&�����&�<����23����53 #��� �:

��6 � #.� 4����0��owej struktury kostki analitycznej o nazwie [KOSTKA ANALI-

TYCZNA] ma po���< [7]:

Page 3: Modelowanie wielowymiarowych wyra¿eń w języku MDX

����3�&�� �& �3�&�� ���&�#9&���/�7&.+������, 'J

Listing 1

�������� ���.�������������"��/ 00123�456786�9�:298'

�-��������� �� �"������������� 0023�456786�;�:5<56=>?7@<A�3@B8C4>3'

���&������&��.������/� 0023�456786�A864C4<A88�3�3@B8C456'

���������D���.���������/����������� 0023�456786�;�58�B>3�A864C4<A88'

���������D���.������� �����/������E�������

���������D���.��������������/����������&�

���&������&��.����-��"� �/�

���������D���.����-��"� ����/�����������

���������D���.����-��"� ���������/����������&�

�'

�'

�'

���������.F����"�-�"/ 0023�456786�B8C4

���������������

����������G��������G

���������.���"*����"�-����&/

����������������

Jedn�����4���5"&&�4�0� �� ������ ����3����3 ��#���8������ .������3 ��#.�

4�� /���8� ����4�� -4��#�����D: Z5 "� &�� ��&� � ��4���� � &�5 ���.1#�8� dla kostkio nazwie[KOSTKA ANALITYCZNA] przypis�&���.��� ������#.1INSERT INTO kost-ce o nazwie [KOSTKA SPRZEDAZOWA]:

Listing 2

�����������.��������"�-�"� �/ ����003:2C38C786�HC7@<A

� �� �"��'���

�� �"��' ����I�

�� �"��'��������

�� ���-��'.��" �/�

��������'�� ������

������

.����� ��������"��/'. �� �"��(��/�

���������.�������������"��/'. �� �"��( ����I/�

���������.�������������"��/'. �� �"��'�������/�

���������.�������������"��/'. �� ���-��(��" �/�

���������.�������������"��/'.��������(�� �����/

��������.�������������"��/

C���3��� �53 #��7 &���/�� � ��, & ����#� ���3 ��#���. .��� ��3�/�� �� 5 �/1#�8�

�������������� , czyli tak zwanej perspektywy, z której widzimy model: *�23 ��4���#1

6 3���&�� �&��� ��� 6��8���� ����� -np. &����2< �4�����/y ����8� 4�������& �����

���.��3�����8��4�����&#�D�&���/�� ���,&�3 #��&����2# �3�&�5����.#�+2# mo-delu analitycznego kostki.

Page 4: Modelowanie wielowymiarowych wyra¿eń w języku MDX

'' )����������

E 4��#� 4���.+�� �����0� ��4roponowana przez autora konwencja nazewnicza, ��"��5+�� �&���2# ���3�.�/�&���dla miar, wymiarów, zbiorów nazwanych oraz elementówwyliczanych. Konwencja ta z����0��4��#�&���&�4o�"5����+4�.1#�I

MR_nazwa – ����23�� ����&��3�tzw. miary fizycznej.MK_nazwa – ����23�� �nazwy dla miary kalkulowanej(obliczeniowej).WYM_nazwa – ����23�� �nazwy dla wymiaru.NZ_nazwa – ����23�� �nazwy dla nazwanego zbioru.EO_nazwa – ����23�� �nazwy dla elementów wyliczonych.

E4�����#9��3�.4����0���#9���&�5+�1��0���0�� +�&���#��8"3� ���#94���d����$�"&�������&�&0�2# &�.:;��������� ��4�������.1&0�2# &16���#.+w modelu analitycznym.

��%��&'��������(����������'�

Instrukcja =@?@A� ����23� &�� ��&� �5 "� ���"��� ���� �4��"5 .�8� 4�������#. :C��������� �� ��0��� .��� �������&�� � frazy WHERE, w której ����23��� .��� &�$��/enie b+�1#��&�8������.�6 3�����8��� #��.1#���&��#����5 "����"�����4�&��$8o plastra (slicerD: ����23� � 4���.��.� � +� /� ��/�� &�� ��� ��"�� � � �����0 4���4�$��1��o&��� �� /����. �� � ��4�������&��� .��� &� 6��� � E%@C@ 4�4���� �&". #�0��80"&������& � [ALL]. A�0�� �����& ���&szystkie elementy potomne dla danego wy-miaru. Jaw������23�� � ���8�#�0���4�&���.��/���3�����"�� 5���&��� z wyko���$���� ����8�#�0�����3�/1��&�� ��&�8��5 ������"���:=�0��� � 6����E%@C@.�������+4u.1#� [7]:

Definicja 3

.������ .����������� ��������//����������� ���������(()�������

P����0�� zastosowania filtrowania dla roku 2008 i miary MR_KOSZT:

Listing 3

�������. �� �"��/'.��/'J.!��K/��.�� ��"�/�

Ograniczy to �5 "����"�������#9���"������#��0������� w roku 2008. Umieszcze-nie miary MR_KOSZT&�6��� �E%@C@����#���/���3����� ���.����3���� �������.1$#a. Na��+4�.1#� &���/�� � �&��#� �5 "� ���"��� � ��4�& ��� � ��8��8�&���� &����$2# �� miara [LICZBAKLIENTOW]������1#�� � +�o roku 2007:

Listing 4

������ L.���������&�-/����������'�&��-�������-M������������. �� ��#���/'.��" �/'���*��������� �

�� .�������������"��/����� �. �� �"��/'.��/'J.!��N/�.���"*������� /�

Page 5: Modelowanie wielowymiarowych wyra¿eń w języku MDX

����3�&�� �& �3�&�� ���&�#9&���/�7&.+������, 'G

��)��&���� ���

��������#.� &���/�7 & ��, ��& ���.1 �"/��8� ��4� �4�������� ��"�� 4���8�.1& �&����� � ��������#. . Poza typowymi operatorami matematycznymi istnieje kilka in-nych, ��"�� &���� ��4�������&�< � &�83+�� �� ich odmienny charakter. Ze &�83+�� ���&� ������#��� �4��#�����4 ��&���/�74�������& �nych zosta� �4 +<operatorów:

NON EMPTY, „{}”, „,”, „:”, „&”.

W celu wyeliminowa� � � �4�& 1����#9 ������"& �������&�< ��/��� �4������NON EMPTY.

Listing 5

������

��������.��������/'���*�����������������������L. �� ���#�������-���/'.��" �����#����/'���*����

. �� ���#�������-���/'.��" ���� ���/'���*���M������ ���� .�������������"��/

�5���/��5�0�5���&�<�5 ���������� 4�3�&�<� � ,�/�&����1�������&��4�$������� „{ }” – nawiasy,4���#9�&�.1#��3������ w tak zwanej krotce jako zbiór (Listing 6).

Listing 6

L. �� ������/'.��" �/'J.��+ /�. �� ������/'.��" �/'J.��"��O/�. �� ������/'.��" �/'J.#-�O�/�. �� ������/'.��" �/'J.��� ���/�. �� ������/'.��" �/'J. ���I� /

M

Gdzie „ , „ – przecinki ���� �3�.1#��3��������� �5 �� a dwukropki „ : „ – ����#��.1zakres elementów, czyli podzbiór elementów 4�� +���&����2# �� 5���8�&�� ���aczo-nymi elementami przed i po dwukropku.

Listing 7

L. �� ������/'.��" �/'J.��+ /�.������/'.��" �/'J. ���I� /

M

Symbol „ & KL����#��&���#��8"3� �� ����������8��3������#�0����&�� �8�:

Listing 8

. �� ������/'.��" �/'�.��+ /

Page 6: Modelowanie wielowymiarowych wyra¿eń w języku MDX

'M )����������

%��*��!���������! ����������� ��

��,.��� .+��� ����4���7&���������#95���?�; (online analytical processing)����/3 & �.1#ym ����&�� � ��4���7 ��$3 �� & ������#9 ���3 ��#���#9: ;�� 4�.+# �� ��$4y��7� 4���5� � .�� & 4���4���� =>?� ����� ��� �"&� �/ ��/3 &�2< ����6 ��&�niadanych, � & +# & 4���4���� ������ ���3 ��#���#9 ��/3 &�2< ���3 ��#. �4�#�6 #���#9�53i#��7 wykonywanych przed odpytaniem modelu. Obliczenia zrealizowane &��+4$� �,�� ���#�����1.����3�������0���&���4���� � (np. miara kalkulowana) o ����23���.���& �: ;� 4���� �� �� �0�� �, &01#���� �1 �� �5 ��� &�� ��&�8� & ���4 � ����+4����czyli odpytania modelu:�5�#� � .+�����,���.�� +����������4������0�&���#�0��$& # �� ���3�/�����.+����=>?�4�� ������/��&� ���#�#9����"/� �.1#�8�����#���.� erze od poprzednika.

%����+���������,-.�������� � /�

E� 6��� � EN�% ��/�� ��6 � �&�< � ��� �53 #���� ���� 4���4 ��&�< ���&� �5 o-rom. @3�������53 #������815�<������&���.���6���#.��&��������#�����&�� ��a-pytania. Rozszerzenie oraz uogólnienie przedstawionego szkieletu zapytania w #�+2# &��+4nej ������0�5+�� �&�831��0�.��4�������& ���4�� /�.I

Definicja 4

.���� ����������� ����I��� .������������ ����I��'''//������� ������������ ����� .������������ ����'''//��� .����������� �����/.����� .����������� ��������//

Zdefiniowany �� 4�#�1��� przedstawionego zapytania element obliczony po frazieWITH, ��/�5�<&���������&���&��3���.#�+2# jego definicji, poprzez wyszczególnie-nie ������1#�.� +��� �8����&�:�� ��� +&����4��"5& �3�������#9�53 #��7 �& +k-���4���.������2<��4���� �. =�0��� ���.6����.�������+4u.1#�I

Definicja 5

���� ����������� ����I��.������������ ����I��� '''/����������� ����I���(()������������ �"I����,����������� "*���������������� �"I�����(()����*�����-"�� �"I����'���" � �"I��������P� ���Q�����R����������� "*������(()�������" � "*���������P�"*�+��R

*���4�������#.+��������#. , p�� /���&���/�� ���6 � �.�� ��+�53 #���1[MK_ZY-SKPROCENTOWO] &01#�� 8� �� �5 ��� &�� ��&�8�, kt"�� 4�����.� .�8� ����0�� ��4���#�ególne regiony:

Page 7: Modelowanie wielowymiarowych wyra¿eń w języku MDX

����3�&�� �& �3�&�� ���&�#9&���/�7&.+������, 'O

Listing 9

����

���� ����������'.� "���������� �/�����00�B8C4C�9C?91?�3C7CG�.��������/'.�� ��"��&�-/�S�.��������/'.�� ��"�/�0.��������/'.�� ��"�/�T����G

������ L.��������/'.�� ��"��&�-/�.��������/'.�� ��"�/�.� "���������� �/M����� �����00�6?6B672@�9�?1B7@. �� �����"����/'.���/'.��#���/'���*����������00�6?'�3864:5@

�� .�������������"��/ 00�7C53C�9�:298

Spró5�.����&����<teraz zapytanie, ��"��5+�� �podsumowaniem przychodu i kosz-tów w Krakowie i w Tarnowie. Efekt taki uzyskujemy two��1#4����<modelu ����+4�.1#�:

Listing 10

��&���� .��������/'.� ��� � ����� /� ��

G����L.��� /��.����� /M�U������ L.��"��&�-/��.��"�/M����� ���

L �� ��#���'���*�����.� ��� � ����� /M�������� .�������������"��/

W ����+4��� schemacie �/�jemy funkcji AGGREGATE, aby agregowanie poszcze-gólnych � �� 5�0� ���3 ��&��� �8��� � � #9 6���#.�� �8��8�.1#�� ����& ���� &�&0a2# &�2# �#9 &�� ���:

Listing 11

��&���� .��#���/'.� ��� � ����� /���

G����������L.��� /�.����� /M�G������ L.��"��&�-/�.-���������"/�.���"*������/M����� ���

L��#���'���*����.� ��� � ����� /M�������� .�������������"��/

��/3 &�.��� ���/�utworzenie w���/�� a pozwala.1#�8��5���&�<, ��4���#1� 3��4� ��5 � ����+4�.1#�#9 &���/�7, wiele miar wyliczanych, do których póP� �. ��/���&�3����3 =@?@A���&�0�<� +4�4���� �.�.���&�. ��� 4����0���&y model miar wyli-czanych .���2��d� ���"/��#9okresów�����0��5����&��� na ����+4�.1#��3 �� �8�I

Listing 12

��&�����.��������/'.� ���!/�����D#�

. �� �"��/'.�������/'����������*��'��#����(. �� �"��/'.�������/�

Page 8: Modelowanie wielowymiarowych wyra¿eń w języku MDX

G� )����������

.��������/'.�� ��������"�-�"�/�

�����.��������/'.� ��V/�����D#�. �� �"��/'.�������/'����������*��'��#�W�(. �� �"��/'.�������/�.��������/'.�� ��������"�-�"�/� '

'00�B�X?836�H6Y878<Z6�H�HC29�3@<A�B8C4�9C?91?�3C7@<A'

�����.��������/'.� ��$/�����D#�. �� �"��/'.�������/'����������*��'��#�!�(. �� �"��/'.�������/�.��������/'.�� ��������"�-�"�/��'�'�'��00�HC?:5C�<5[�\�5C;@2C78C

�5�&���� < .awnie ��3�.��2<, trzeba w trakcie obliczania takich miar wykorzy���<�0�&o kluczowe: SOLVE_ORDER = ����]^��gdzie WARTOSC .���3 #�51#�0��& �1����23�.1#1��3�.��2<: Pr���0���&�, u/�&�.1# w zapytaniu oblicza��#9#�0onów, ��/���0��&� ���6 � �&�< ��&� &�� �� czasu, �0�/1#� �� przedstawienia roku z rozbiciem napo0�&�I

Listing 13

��&���*�� ��������'.� "���������� �/���

G�.��������/'.�� "��/�� 0.��������/'.�� ������"����/U������ �����#�)�_`'``aP��������������

���*�� .-���������/'.�������/'���� �"����� �����00�6?6B672�3@?8<5�7@�G .�������/'J.�/b.�������/'J.!/b.�������/'J.$/b

.�������/'J.%/b.�������/'J.W/b.�������/'J.V/R��������������

���*�� .-���������/'.�������/'-��#����� ������00�6?6B672�3@?8<5�7@�G .�������/'J.N/b.�������/'J.K/b.�������/'J.c/b

.�������/'J.��/b.�������/'J.��/b.�������/'J.�!/R�������������

�������L .���� �"����� �/�

.-��#����� �/�

.-���������/'�������'���*���M������������

.���#������ ���#/'.��" �����#����/'���*��������� ���� .�������������"��/ &��� ���������'.� "���������� �/�

%����+���������,-.������(��/�

�3����3� EN�% ��/� 5�< �"&� �/ wykorzystana �3� ����23�� � 4�&��. ����+4#��jna�&� �3� � 3�� &�5����#9 4���� ��� �3�����"&: ��������#.+ ���1 5+�� ��� ����� �<.����azwany zbiór, który mo/�by< traktowany jako podzapytanie. Nazwany zbiór tworzo-

Page 9: Modelowanie wielowymiarowych wyra¿eń w języku MDX

����3�&�� �& �3�&�� ���&�#9&���/�7&.+������, G

ny jest na czas trwania ��4���� �80"&��8�:Zbiór taki posiada nazw+, przez kt"�1 mo/e onby<&�&�0ywany ���4���� �80"&��8�:

Definicja 6

��&�����.��" � "*�����/����P'''R�����.��" � "*����!/����P'''R��'��'��'

Zastosowanie frazy WITH do nadawania nazwy zbiorom ilu����.�4�� /���4����0��,gdzie nazwany zbiór [NZ_SZYBKIESAMOCHODY] sk0���� +��3�����"&5+�1#�#9mo-delami samochodów: porsche, lotus, corvette oraz audi:

Listing 14

��&���� .�" �"�*�������&�-�/���

PL . �� �����&�-/'.��" �/'J.�����&�/�. �� �����&�-/'.��" �/'J.�����/�. �� �����&�-/'.��" �/'J.���D����/�. �� �����&�-/'.��" �/'J.��-�/MR

�������L .��������/'.�� �����/M�������������L .�" �"�*�������&�-�/�. �� �����&�-/'.��" �/M������ �

��� .�������������"��/

%�%��������������0������ ��

�4�&��"&&���.��2# �&�#95����� �����1#�����2# 1dla programisty oraz projek-tanta jest analiza kodu ��4���7��,. E5 �/1#��4����P�� �3��utor zaprezentowa05��$���4���#������+�� �MDX Script Performance Analyser, �0�/1#������3 ����������4$�"&: Q���� � &���.��2# �� 4���#1 ������&���8� �� ��8� #�3� ����+�� a jest istotnepo to, aby umo/3 & < tworzenie ich w optymalnej postaci. Dzia0�� � ��� � ma.1 �8�����&40�&��#���&������ ���4���7-���: D��4�����/�. 3�2# �/ytkowników bazy OLAP –na pop��&��.�.�� �0�� � [3].

*�!����;���5 �8#����&������ �&����# ����3 ��#. 4���#��8"3��#9����"&��4���� �

Page 10: Modelowanie wielowymiarowych wyra¿eń w języku MDX

�� ��������

�� ����� ������ MDX Studio, ���������������������������������������ak-tualnie wykonywanego zapytania. P������ ���� �� ����� ������ ������� ������!

konstrukcyjnie � ���", w których dopuszczalne jest ����� ������� �#���������� �$

�zapy��" [4] %���&�'.

�������(��� ������������������� ������)*� �����������

���1���2 �����������������2����������

+���� ���������� ���������������� �,���#� �� �����������������������! ����

� ��������������������!&-���������. ���������� �����specjalnie utworzonegoaparatu matematycznego. Szerokie spektrum wykorzystania analiz �����!zbiorów danych,������ ��#������ �������������/������,� ���������takich zbiorach, jak rów����

rzet��������warto��� liczbowe. -�� ������ ��#� �� � ������",� ��yku MDX,zaimplementowano wiele rodzajów potrzebnych funkcji, � ��������� od przeznaczenia.-��������������� ���������������#/������,��� ��� ����ich zastosowania.Wybrane ��� ����� ���������������������������, podczas wykonywania, ����$

#������! z punktu widzenia analizy danych, za ���"&

���������� ����!�2 ��

Funkcja ORDER%�+0R1.-213S4T04U506�+37.+386U+)4869'– porz�dkujeelementy zbioru ZBIÓR, zgodnie ��#� �������������� �����������& -������ /��#�

���� BASC �������� �������� rosn�co. ��������� ������� /��#� ���� BDESC malej�$

co. T���� ����� � ������ ����� ��,� ���,��� � ���������� ��� �# �������� �y-�!���&: �������������������������������������������������#�� �������a-

Page 11: Modelowanie wielowymiarowych wyra¿eń w języku MDX

�������������������������!������"� �����)* �;

ru MARKA. 8��������������/������ORDER, ����������������#�������������o-�,������ ����.�������/������������ �������T<T4(=2 [2]:

Listing 15

��������L .�� ��"��&�-/M�����������������������������������

�L . �� �����&�-/'.���/'�&��-����. �� �����&�-/'.��-/'�&��-���M�. �� �"��/'.��/'���*�����.�� ��"��&�-/������������� �

��� �.�������������"��/

3��� ������������� �#�������.���� tylko ograniczone do poszcze#,����!� o-�,������������.�������/������<�������� ��������+)486������)486&Ta-��� ���������������� �����> �������!���,�������������������������������a-nej [MK_ZYSKPROC]&8��������������/������TOPCOUNT, dla której schemat zastoso-wa������� ������������� ��� ����:

Listing 16

��&����*�����������'.� "������/���G� �.�� ��"��&�-/�.�� ��"�/�0.�� ��"�/T���G

��������L .�� ��"��&�-/�.� "������/M��������������� �������������L. �� �����&�-/'.���/'�&��-�������d��. �� �����&�-/'.��-/'�&��-���M���. �� �"��/'.��/'���*�����W��.� "������/������� �

��� .�������������"��/

�����3�������!�����4�������������� 5

- ����� )* ����� ��� szereg funkcji logicznych, ��,�� ����� ������ �����

tworzenia �����enia warunkowego&-�������� ����� �����������������/���sprawdze-nia czy dany element z naszego zbioru,� � ���(lub nie) ���������/������w hierarchii wy-miaru.

IIF%-31:T4?. (13-)3. @3�8�' A /������ ����/������� ��������� �������

WARUNEK � ��������� ������� PRAWDA. ����� ������� ���� �������. ��� @3�8�

w przeciwnym przypadku. PRAWDA i @3�8���#����������������ntów.

(������zaprezentowano ��,����!�������������kilku tego typu funkcji:

ISANCESTOR(ELEMENT1, ELEMENT2) – funkcja przyjmuj�ca warto�� TRUE,je�li element ELEMENT1 jest przodkiem elementu ELEMENT2.

ISCHILD(ELEMENT1, ELEMENT2) – funkcja przyjmuj�ca warto�� TRUE, je�lielement ELEMENT1 jest potomkiem elementu ELEMENT2.

Page 12: Modelowanie wielowymiarowych wyra¿eń w języku MDX

�� ���������

ISEMPTY(ELEMENT) – funkcja przyjmuj ca warto��TRUE w przypadku, gdy ele-ment jest pusty (#EMPTY).

ISGENERATION(ELEMENT, INDEKS) – funkcja przyjmuj ca warto��TRUE, je�lielement ELEMENT nale�y do pokolenia wskazanego przez indeks.

ISLEAF(ELEMENT) – funkcja przyjmuj ca warto�� TRUE, je�li element ELEMENTznajduje ���na najni�szym poziomie hierarchii wymiarów (jest li�ciem drzewa wymiarów).

ISLEVEL(ELEMENT, POZIOM) – funkcja przyjmuj ca warto�� TRUE, je�li ele-ment ELEMENT znajduje ���w hierarchii wymiarów na poziomie okre�lonym przez PO-ZIOM.

ISSIBLING(ELEMENT1, ELEMENT2) – funkcja przyjmuj ca warto�� TRUE, je�lielement ELEMENT1 znajduje ���na tym samym poziomie w hierarchii wymiarów i ma tensam element nadrz�dny co element ELEMENT2 [5].

������������ ������ ���������������

���������������������� ���������������� ����� �!������" � ���������

�#������!��������� �������!����� ���#����� ����#��!�� ������ !��#���n-kretnego zbio�� !���� �$�%��"�!�����!�!����&

'� (����� ���� ���#��� ���$"�� �$�% ��!� �') �#�������� (������ FILTER.Zwraca ona zbiór, który jest !������(����� ��������#��� �����������$� ������.

FILTER(ZBIÓR, WARUNEK) – funkcja ta zwraca krotki nale� ce do zbioru elemen-tów ZBIÓR, �������� ce kryteria selekcji okre�lone przez WARUNEK&��#����!�����#����� �����(������ ������������ �!*

Listing 17

������������ ����������������� ���������������������� ������������� ����� ������� ���������������������������������������� ������������������������

���� ��������� ����������� ������������������

CROSSJOIN(ZBIÓR1, ZBIÓR2) – zwraca iloczyn �������+��� zbioru ZBIÓR1i zbioru ZBIÓR2. ZBIÓR2 nie mo�e zawiera� �adnych wymiarów wykorzystywanychw zbiorze ZBIÓR1. ,-.//0.12��������!������� ��! ���������� wy������ ��$���$�samego wymiaru. Zastosowanie � �������!�� �$��� !������� ���� !� �e-tlenia hierarchii,��#��������������� � ��#��� ������ [2]:

Page 13: Modelowanie wielowymiarowych wyra¿eń w języku MDX

��#��� ���� ���� !����� !�� !����+ ��!���') �3

Listing 18

������ ������� ���������������������������������������������!��������������

� ����������� ������������ ����� ���������������� ���������������� �"#������ ������������ ����� �������������� !�� �����������������������������������

�������������� ������

GENERATE(ZBIÓR1, ZBIÓR2 [,ALL]) 4(������ ����� ����"��� ����! y-niku wy������� ��������* 5#�� ���#�$� �������� � ����� ZBIÓR1 �"� ZBIÓR2”.Klauzula [ALL]�� ����������� �����#������� �!������������" ����� !�i-kowym. Mo���! ��������� ���(������ !� ������!��#�����#������$���� �� ��� ���#!����� �!�� ������6����wszy potomek hierarchii) dla ���#�$�����*

Listing 19

� ����������$���������������� �� ���� �����������������������

�� ���� ������������������������ ����� � �������� ���$������������������

����������������� ��������������������� ��������� ����������� ��������������$������

.�� ��� � !��� !������� (������%�����!�" ������ ��!� model !� ����a-� �!nam !��#�����#������$������ ���, ���#!� pierwszym kwartale (pierwszy poto-mek hierarchii – numeracja od 0) dla ka�dego roku:

Listing 20

� ����������$�����! ����������������� �� ���� �����������������������

�� ���� �����������������������������������������

���$�����! ������������������������������������ �����������������

���� ��������� ����������� ��������������$������

PARENT(ELEMENT) – funkcja zwracaj ca element nadrz�dny w hierarchii wymia-rów w stosunku do elementu ELEMENT. 78-92: ���� �!� ��! ��� wielokrotnie.W naszym przypadku przeniesie ���������oziom [ALL].

Page 14: Modelowanie wielowymiarowych wyra¿eń w języku MDX

�; ���������

Listing 21

� ��������������������$��������� ���

�� ������ !�� �����������������������������������������������$������

������������������$����!�������������� ������ !�� ��������������������� �������������$������%�� ������ !�� ����������������������������������

�������������$������������$��� ��&�'(�(()*

�������� �������������$��������� ��

�������������$�������������������$����!����������������������������� !�� �������������������������

�������������� ������

EXCEPT(ZBIÓR1, ZBIÓR2 [,ALL]) – funkcja zwracaj ca ró�nice zbiorów ZBIÓR1i ZBIÓR2. Flaga [ALL] pozwala na pozostawienie duplikatów. U�!����� ��!�����<�" � (������ 9),97: 6�#���#��� �"����� �����#! dwoma zbiorami), ������ �� namskon����� ���� !�������% ��"�� ������ �������� ����#�� #�� ���#�� $���! �� ��" �o�" �����#����o��� �����������������#������ [2]:

Listing 22

� ����������$�!�����!������ ����������� !�� ����������� ����� ����������������������� !�� ����������� ����� ����!�����

������������������$!�������!��� ������� ������ !�� ��������������������� �������������$������%

�������$�!�����!�����������������$������������$��� ��&�'+�(()*

�������� �����������������

�������������$!�������!��� �������������������$�!�����!�����������

�������������� ������

����������������������������������� �����������

������� �������" ������ ����� ������ �� ������������ �����#! ����������

hierarchii wymiaru. Funkcja MEMBERS zwraca elementy wskazanego wymiaru lub po-ziomu wymiarów. �������,=1>'-92 �����������!������5#����?#�����������<$��������������� ����$� !�����6�!�&@A& .���(������� ��! �����!(������ �<��� !����+%������ ��� ���� ����� ���� ��zwijania do ni�szych poziomów hierarchii.8�!�!��������!#�� ����" ����#�� �!�� ����� ������$����% ��!�����!��!o to ichdzieci, czyli – CHILDREN:

Page 15: Modelowanie wielowymiarowych wyra¿eń w języku MDX

��#��� ���� ���� !����� !�� !����+ ��!���') ��

Listing 23

���������������������������������������������$����� !�� ����������� ����� ����!�������������

����$����� !�� ���������������� ���� ���������������������� ��������� ������

�������B��������� !������ �� ����������#�� !�����CDE

����!����������� � #�� ����%$#!��������� � ����! !����" & 1��� $��d-nienie mu���!��� �����������%�����!���(������ ADDCALCULATEDMEMBERS&7�!���#�������!���������� !$� #���������� ��*

Listing 24

����������� ����������������������������������������������� !�� ����������� ����� ����,�� ����� ���������� !�� ���������������� ����,�����������������������

�������������� ������

F��!���')����� ����� !�����������" !�����!��ad hoc, przy zastoso-waniu klauzuli WITH i odczytaniu ich przez (������ADDCALCULATEDMEMBERS:

Listing 25

� ���������������������$����!��������������-� �������������$�������%��������������$���������!��-�

�����$��� ��&�'+�(()-������

����� ��������������������������������������������� ����� �����������. ���������������������

�������������� ������

Page 16: Modelowanie wielowymiarowych wyra¿eń w języku MDX

�D ���������

DESCENDANTS(ELEMENT [{ WARSTWA | INDEKS}[, FLAGA]]) – zwraca ele-menty ��#��#�� znajduj ce si� w warstwie WARSTWA% ��� �� $��boko�ci INDEKSw hierarchii wymiarów elementu ELEMENT. FLAGA wskazuje, które elementy ��� by�zwracane / pomijane.

Warto�ci, jakie mo�e przyjmowa� element FLAGA to [2]:

4 ����4 �����!����������! ���� !F8-/:F8����������9>9�92:%�����

�����!��#� ���� !F8-/:F8&

4 �����4 �����������!��� ��������� ���� !F8-/:F8&

4 ���� 4 � ���� ������� 9>9�92: ��� �������! ���#�� �� ��� ����������

!����" �� !��� ���� !F8-/:F8&

4 ������� ������ 4 ���� ������� 9>9�92:��� �!����� �������! ���<

#�� ���������������$� ���������� !����" %����������� ��#� ���� !F8-/:F8&

4 ������� ������ 4 ���� �!����� �������! ��� �� ���� �� F8-/:F8%

��� ���� ������ �!������������� ���������� !����" &

4 ���������������4 �����������9>9�92:��� �!������������!��� <

������������$� ���������� !����" &

4 ������ 4 ���� �������! ��#��#�� �������� 9>9�92:% ���#�� �� �� ������<

�!������������������ !����" 6������#�� � !����" A&

B������ ��!��a (������'9/,92'82:/����� ���������odpytanie kostki o in-formacje na poziomie nazwy towaru dla wybranej jego kategorii:

Listing 26

������������������������������������ ������ !�� ����������� ����� ���������

������������������ !�� ������������ ����� ������������������������������

��������������� ������

CURRENTMEMBER(WYMIAR) – zwraca aktualnie przetwarzany element dlawskazanego wymiaru WYMIAR. Funkcja wykorzystywana m.in. w funkcjach iteracyj-nych. Wyznaczmy ��!���#� � ����#�� #���� ����� ���#���� ���� �#��� �������� ! ����#��! ��$� ����$���� 4 �!�� ���!����% �#��������� #� ��$� ��#���& F!�������� o� ����� ������������ ,����������!�������! ��!��� ����� ����,G--92T-MEMBER oraz PARENT.

Listing 27

� ��������������������$��������� ���

�� ������ !�� ������� ��������������������������������$������

������������������$����!�������������� ������ !�� ������� �������������������������$������%�� ������ !�� ������� ��������������������������������$�������

�����$��� ��&�-(�(()-

Page 17: Modelowanie wielowymiarowych wyra¿eń w języku MDX

��#��� ���� ���� !����� !�� !����+ ��!���') �H

�������� �������������$��������� ��

�������������$�������������������$����!����������������������������� !�� �������������������������

�������������� ������

F���������� ��!��� (������ 78-92: ���� �!� ��� ����� ��� ��������� odpo- ��#�������#�" �����,G--92:�9�I9-��� (������82,9/:.-% ����� � ���#�����#�� ��#����������#����#���$������&J����������� wtedy ��!����a-zwy hierarchii [5]:

Listing 28

� ��������������������$��������� ���

���������������� !�� �������������������������� !�� ����������� ����� ����������������$������

������������������$����!�������������� ������ !�� ���������������������������������$������%

���������������� !�� �������������������������� !�� ���������������� �����������������$������������$��� ��&�'(�(()*

������� �������������$��������� ���������������$�������������������$����!�����������������������

������ !�� ��������������������������������������� ������

PREVMEMBER(ELEMENT [, GENERATION | LEVEL]) – funkcja zwracaj ca po-przedni element (zale�nie od kolejno�ci definiowania) w stosunku do ELEMENT, w ra-mach pokolenia (GENERATION) lub poziomu (LEVEL). 7������� ����� ����������������� ��(������7-9K�9�I9-& 0�����������!��! !� ������!�������#a-�!���!����� ������# �����#���$�������������������������!���������!%��������������� ���������� ��:

Listing 29

� ��������������������$��������������

���������������$�������/�� �������������$������� ������������!�������������$��� ��&�'+++�+++�((��0*

�������� �������������$������

�������������$�������������������������� ����� ����� ���������� ����������� �� ������������

���� ��������� ������

Page 18: Modelowanie wielowymiarowych wyra¿eń w języku MDX

DL ���������

LEAD(ELEMENT, INDEKS) – funkcja zwracaj ca element, który znajduje si� IN-DEKS kroków wprzód od elementu ELEMENT w ramach tej samej warstwy w hierarchiiwymiarów. Funkcji LEA'% ��"�� ���� ���� �##����! !����� � �������� �������!��� �# ������$� �����% ���� �!� ��!ta ����"� ���#��� ���! �� ������!���y���dowym modelu:

Listing 30

� ��������������������$��������������

�� �������������$������/�� �������������$������� �������������"#���

�����$��� ��&�'+++�+++�((��0*������

�� �������������$������������������$��������������������������� ����� ����� ���������� ����������� �� ������������

���� ��������� ������

NEXTMEMBER(ELEMENT [, GENERATION | LEVEL]) – funkcja zwracaj ca ko-lejny element (zale�nie od kolejno��i definiowania) w stosunku do ELEMENT, w ramachpokolenia (GENERATION) lub poziomu (LEVEL). G�!���29):�9�I9- �!� !<�a������o������!����#��#�� ���#�$������ ������ ��� �����#����������#<����������cy [5].

Listing 31

� ��������������������$��������������

�� �������������$�������/�� �������������$������

� �����������1��������������$��� ��&�-+++�+++�((��0-

�������� �������������$������������������$��������������������������� ����� ����� ����������� ����������� �� ������������

���� ��������� ������

PARALLELPERIOD([WARSTWA [, INDEKS [, ELEMENT]]]) – funkcja zwracaelement z wcze�niejszego okresu czasu dla podanych parametrów. 78-8>>9>79-1.'�� �������� ����" ����� ������ ������ ��$�����$����#�������� �o-przednim kwartale:

Listing 32

� ��������������������$��������������

�� �������������$�������2�������������$������!�����!�� � �� ������������������������$��� ��&�-+++�+++�((��0-

Page 19: Modelowanie wielowymiarowych wyra¿eń w języku MDX

��#��� ���� ���� !����� !�� !����+ ��!���') DM

�������� �������������$������

�������������$��������������������������� ����� ����� ���������� ����������� �� ������������

���� ��������� ������

7��� ��� ������#!, gdy nie zdefiniowano „równo��$��$�?����� ��& ����� �� �b��<���� ������� !��! ��� ����������� !�� �������� ������%���$�#��� z kalendarzem.��������� #��%���� ���������#�������� �!������ �������& G�! �� �� ��<�a��#����#��� ����������%���������!��"����� ����#��! ��#������#�����#�$������ ��%���" ��� ������ ����� ����� �!�� �����*

Listing 33

� ��������������������$��������������

�� ������������������2������������������!�� �!�� � �� ���������� �� ��� �����������������������!������������$��� ��&�-+++�+++�((��0-

�������� �������������$������

�������������$�������������������� ������ ����� ����� ���������� ����������� �� ����������$�

���� ��������� ������

����������� �� ��!�

Specjalnym rodzajem (������ !����������') � (������ �$��$�� ��% ��"�� �o- ���� #��!�����$"�� !��#��!� �!������ !�#������ ������� !�"����� � ���

��#��#��!���!������%� #N����������� �� ��� �������$��$�� ���#��������������

!���������i��� ��$� ��&SUM(ZBIÓR [, LICZBA]) – funkcja zwracaj ca sum� elementów wchodz �!��

����# zbioru ZBIÓR. B��!����� �')% ��"�� !� ����� ML ����� �# $"�!% �����������������sakcji sprze#��!% ������#�������#��!� ������������������&:���� !��<����� ������ ����� ���� ������ ���� (������ /G�% �� � �� �� #� �� ��!�� ����" ��������!����onów:

Listing 34

� ����� ���$���� � �� �����

����� �������� ����� ������� �������������3(��������������$ ������

������ ����� ����� ��������$ ���� ���� ��� ����� ����� ����������������������������������2

� �����$���� � �� ����� ���������������������������� �����������������������������

����$���� � �� �������$ ���� ���������������� ��������� ������

Page 20: Modelowanie wielowymiarowych wyra¿eń w języku MDX

DO ���������

TOPCOUNT(ZBIÓR, INDEKS [, LICZBA]) – funkcja zwracaj ca indeks elementówzbioru ZBIÓR uporz dkowanych od najwi�kszego do najmniejszego.

TOPPERCENT6BI1P-% 7-.,92:.F.QR% >1,BI8A – zwraca najmniejszy ist-niej cy podzbiór zbioru ZBIÓR%#����"��$������ ��! !����������+ jest nie mniejszyni� zadeklarowana procentowo��przelicze+����$������ZBIÓR. Procentowo��jest licz-ba z zakresu [0; 100]. LICZBA wskazuje kryteria selekcji. Elementy zwróconego podzbio-ru uporz dkowane s od najwi�kszego do najmniejszego.

TOPSUM(ZBIÓR, SUMA, LICZBA) – zwraca najmniejszy istniej cy podzbiór zbio-ru ZBIÓR, dla ��"��$������ ��! !����������+jest co najmniej równy podanemu wy-ra�eniu SUMA. Elementy zwróconego podzbioru uporz dkowane s od najwi�kszego donajmniejszego.

.�! ����� �������� ����� seria funkcji BOTTOM(odpowiedniki TOPxxx), ��� � �" <���� �"��� (unkcje statystyczne AVG, MEDIAN, MAX, MIN, VAR, STDDEV. 0�#���� $��#����$�������!�������������!�������� ����������������" ����� �!�t-����#������!�� ��!��(������&Format za����#�� !��� !�������!��(������jest jed-nakowy [5]:

Listing 35

� �������� ���$��� � �!��� ����

�!�� ����� ����� ���������������� ����������� �� ����

������ ���$��� � ��������� ��� ����� ����� ���������������

� ����������� �� �����1��� ���!��������� �� ���������������

���$��� � �!��� ������$��� � ������������������������ ����������������� ���������

���� ��������� ����������� ��������������$ ������

��"������ ��� ����� ������

W klauzuli WITH, ��#�(�������������� !������$������ e jest ������#�� ��#�����$� formatowanie. Warunkowe (������ �������� �#�! �� ��� ����� ��!��� funkcjiIIF(), ��"�����������! �����$�������!���#���& Jest to bardzo wygodne konstrukcyj-����������%�#��������� ������� ��� !�"������a !�����"�%��"��� ������!���e-mentem naszego raportu��&��� ��� � !�� ��������(�����!�� &7�!���#� !��#�� !���$"����� �!6(������� �! �������A ���#���! � ������� ������ �# MLL���� ���

������#��� ���*

Page 21: Modelowanie wielowymiarowych wyra¿eń w języku MDX

��#��� ���� ���� !����� !�� !����+ ��!���') D@

Listing 36

� ����� ���$��������

������ !�� ����������� ����� �����������������������������$���!�����������������$��������

�����$��� ��&� ����$���!#4((�5+�((-�5�+�((�5������$������&� ����$���!#3((����677�(�(������677�677�(������$������&� ����$���!#3((����(�677�677������(�377�(�������$����&� ����$���!#3((�� ��$��� ����� ��$�� ��� ����� ��$ �� ����� ��$��� �����������$����&� ����$���!#3((�� ��� ���������$� ���&� ����$���!#3((�38�3(�

���������$����������������������� �����������. ���������������������

���� ��������� ����������� �������������$���!������!��!��� ���,������������ $,���������$�� ��������$��� �������$����������$�����������$���������$��������$� ��

���#�����

Mechanizmy ������+ !���!��! ��� ��������analitycznych ����#�� �����a����$��$���� #�� �����$"��!�� �����" ���������� !����" &F �������� �����o- �+, realizacja tylko mechanizmów sumowania na poziomie hierarchii, jest niewystarcza-� ��& Tu zachodzi potrzeba wzbogacenia analizy o dodatkowe operatory oraz funkcje mate-matyczne. W���������������!��!������ ���������������������+ � ��!����<�" �! ��������#! ��� �������&F������� ����$ �����#��z dwóch równole$�!��okresów (np. lat lub �������!). Pomoc #�� �����$� ��$� �!�� operacji, a nawet operacjibardziej skomplikowanych jest ��!�MDX.

W pracy przedstawione �����!zaproponowane przez autora schematy ��!���#�����<�!�� (������, ��� �" ���� ������ ��� ��#������ #� �������� ���� podobnych modeli.Opisano przypadki ��!�����!��MDX, w który�� !��N�������#������ �!�����#���nad innymi. Zamieszczono ���� ��!���#" �������� �!�� przetwarzanie danych wielo-wymia�� !��% �����$�� ����dedykowanymi do tego celu ����#����&

7�#���� �� � ����!������%����� �� ���#��% �� ��!��'), podobnie jak SQL,������!������!��+ jak i definiowania danych. /S>����������!�����#��� !���!<��! ��!� ���#� isku baz relacyjnych, jednak ������� #����on ���#� ������ wie-lowymiarowych struktur bazodanowych architektury OLAP, ��"��� �� ���� ��#��� ����<�uje MDX.

0�!��')���������������� ��! ����produktach Microsoftu&'������!����poprzez ���� ������#��� � OLE DB lub ADO. M���on ��������� �����$�� ��<�e$�� �� ������#��!��, gromadzonych w bazach i hurtowniach danych.

Page 22: Modelowanie wielowymiarowych wyra¿eń w języku MDX

D� ���������

��� �#�#!���!��� ��$� �!�� ����#� �����������!% ��"�� ��� ���� �����i- ��� � ������ ����������� �����$�� �!�� ��� $������ �mierz���$� ����% �������! ������ !#��!� ���� ����� istotnych informacji z danych&I��#��� �������� �#�����#���,� ����!��� ���������!������#������!. 2����#���$�" �����������������na kosztownych czasowo obliczeniach podczas zwracania wyniku zapytania. Istotnymi��������� � ����� trudne w opracowaniu modele analityczne, które tworzone ������ ����� !#���!�� ������" (np. konstrukcji relacyjnych w SQL), � ��� � ����� ���<�a����$�#� ��$���������#��%��# #�#���� !������ ����������� !�� dla: wy-konania zapytania oraz projektowania modelu.

$���� ���

CME I������ F&% ������������ �� ������������ ������ � �!�� ���"��� �� �#���##� $���%%�&����& ����*TT

&�������&��T4��� �������!��!#��!� �!�$�#���+����� ��#��!��&

COE J�#����7&%>� ��#� ����&%�����'���%��()�'*�����+ ,����-.%�-�����'��/0���$�1�8��!<

������" �� �!%7�����������7���+���&

C@E + ,� ����.�� ���2��-����� ���%�#��* ����*TT &��#����U&���T�#U���������(& 2���#�� �����!

!#���������!��+�')&

C�E � + ,� ������* ����*TT &�����&���T������T�#U���#��&���4 ����#�� ���� ������ ��!��+

�')&

C3E 7���� ��� :&% 3*���� + ,� +�%�� �-��#����%� �4.��##���#1� � &���&�����&��TV����� ��T 4

��������!#!#���!���&

C;E 7������F&9&%+ ,��##�����%#������#&����*TT &#��������������&���4��� �� ��#!��(����<

�!����%��� �����!�$�#���������#��!��&

C�E /������� :&% 3*���� + ,� �� �5%�������� �� ��#������ ���%���������& ����*TT &�������(�&���T��<

���#T�������T�������T���LL;�WLM&���U&

CDE /��((��#X&%=�������/&%F���,�&%=���$'&%,�Y��#��&%+ ,���%�����#������+����#�2���!�

���"������%�#�#����"���#�6778�����/�.�������##5�#�& �������(�,����������7�������#*�����

OLL;&

CHE /����0&%/���������������1��������(�/S>/��Y���&L&7�� �#���:�������!%�������(�7����T

8727-.�1/9%F���� �%OLLL&

CMLE :������-&% $���������������+ ,�����.���&����+����#�2���!�����"���6778& �������(�,������<

����7�������#*�����OLL3&

CMME K�������#��7&%/�����:&%�����"����2���&���%�+���%#�2������� ���5�#�#&8,�/1X�.'-����#

OD6�A%MHHH&

CMOE F������ -&% J�"���� ��� B&%���!�&%+�&������ ������� 9� #���� �5����� �� ��������� �����'�1

7��'����$ML%F!#� ���� �28J.�%7���+%OLLL%�34H@&

CM@E Z������ /&% ���2�##����%� ���� :������#��&� ����� �!�� ���"��� ;17� ���� ���� � ���"���#1�F��U

7����%8�#��=����%OLLL&