Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

SQL – OLAP 8. óra.

Hasonló előadás


Az előadások a következő témára: "SQL – OLAP 8. óra."— Előadás másolata:

1 SQL – OLAP 8. óra

2 MDX nyelv (Multidimensional Expressions)
A Microsoft által kifejlesztett nyelv az MD modell támogatására - az MS OLAP API felületek része (OLE DB, 1998-): hasonló az SQL nyelvhez,de annak nem kiterjesztése objektum szemléletű korlátozott MDX-DDL/DML MDX-DQL - SELECT .. FROM.. WHERE - gazdag függvénykészlet az OLAP funkciókhoz - bővíthető saját függvényekkel

3 MS OLAP rendszer struktúra
Building Using Data Warehouse Design (Logical/physical schema/Data flow) Data Mart Design (Schema) End-User Tools 3rd Party (Excel, Access, English Query) Operational Data (OLE-DB) Data Transformations (DTS) Data Marts (SQL Server & OLAP Server) OLE-DB Managing Microsoft Repository DB Schema Transformation Scheduling OLAP Data Warehouse Management (Console, Scheduling, Events,Topology) Data Flow Meta-Data Flow

4 MS OLAP rendszer struktúra
OLAP Manager DSO Rep. Tensor Services OLE DB RDBMS - Datasource & ROLAP Store App OLAP Server Rep. ADO MD MOLAP Store

5 calculated member tuple, set
MDX elemek cube cell slice dimension axis dim. slice dim. level measure, calculated member tuple, set tuple: egy cella hivatkozás, azonosító dimenzió értékek együttese axis dim: forrás kock dimenziók set :tuple-k halmaza slice dim: eredmény tábla diemnziók slice : cellak halmaza member: részletező dimenzió értékek

6 MDX Members(tag) : a dimenzió hierarchia egyik eleme [John Doe] [2001]
[2001].[Q1].[Jan] Tuple(tagkészlet): több tag együttese ([Product].[Drink].[Beverages], [Customers].[USA]) ([Product].[Non-Consumable], [2001]) Sets(halmaz): tagkészletek halmaza {[John Doe], [Jane Doe]} { ( [Non-Consumable], USA ), ( Beverages, Mexico ) } [2001].Children TopCount(Store.[Store Name]. Members, 10, Sales)

7 (Products.Clothing, Measures.Units, Time.[2000])
MDX (Products.Clothing, Measures.Units, Time.[2000]) (Products.Clothing, Measures.Sales, Time.[1999]) (Products.Groceries, Measures.Cost, Time.Year.[1997]) Groceries Appliances Clothing a hivatkozás lehet relatív is: NextMember Lead(-3) CurrentMember 1997 1998 1999 Time 2000 2001 Measures Sales Cost Units

8 SQL/Server – Analysis Service/Manager
adatbázis adatforrások adatkockák dimenziók OLAP/DM modellek védelmi adatok

9 SQL/Server – Analysis Service/Manager
Adatkocka létrehozás 1. forrás adatok ellenőrzése (csak külső forrásból) create table vevo(kod integer primary key, nev char(30), varos char(20)); create table varreg (varos char(20), regio char(20)); create table kategoria (kod integer primary key,nev char(20)); create table termek(kod integer primary key, nev char(20), kat integer references kategoria); create table forgalom (aru integer references termek, vevo integer references vevo, datum datetime, darab integer); 2. forrás adatok létrehozása, elérésének ellenőrzése delete from vevo; insert into vevo values (1,'peter','miskolc'); insert into vevo values (2,'gabi','miskolc'); .. delete from termek; insert into termek values (1,'kes',1); insert into termek values (2,'ollo',1);

10 SQL/Server – Analysis Service/Manager
3. Data Source elemek kijelölése több forrás elérési mód is támogatott (pl.ODBC,…)

11 SQL/Server – Analysis Service/Manager
4. Adatkocka felépítés a forrás adatokból 4.1 : a tény tábla (fact) kijelölése 4.2: a változó (measure) mezők kijelölése

12 SQL/Server – Analysis Service/Manager
5. Dimenziók felvitele azonosítási adatok: NAME: MEMBER KEY COLUMN: MEMBER NAME COLUMN:

13 SQL/Server – Analysis Service/Manager
legrészletezőbb szint legösszegzőbb szint

14 SQL/Server – Analysis Service/Manager
6. Tárolási formátum megtervezése 6.1 : MOLAP ROLAP HOLAP Aggregációs mód

15 SQL/Server – Analysis Service/Manager
7. Kocka feldolgozása 8. Védelmi adatok megadása

16 SQL/Server – Analysis Service/Manager
9. Interaktív lekérdezés szűrések aggregáció változók

17 SQL/Server – Analysis Service/Manager
Parancssoros lekérdezés

18 MDX – DDL (limitált használat)
CREATE CUBE <cube name> ( <dimensions def> <measures def> [<command expression>] ) create cube proba ( dimension [aru], level [osszaru] type all, level [kategoria], dimension [bolt], level [osszbolt] type all, level [regio], dimension [datum] type time, level [osszido] type all, level [ev] type year, level [nap] type date, measure [ertek] function sum format ‘#.#’, measure [darab] function sum format ‘#.#’) kb. 100 soros teljes szintaxis

19 MDX – DML (limitált használat)
INSERT INTO <cube name> (<dim1><dim2>…<dimn> <measure1> ..<measuren>) SELECT d1,….,dn,m1,..,mn FROM … insert into proba ([aru].[kategora], [bolt].[regio], [measures].[ertek], [measures].[darab]) select k.katnev, b.regio, forg f where f.bolt = b.kod and f.aru = t.kod … nincs közvetlen parancsfelület ADO minták

20 MDX-query SELECT [<axis_specification> [, <axis_specification>...]] FROM [<cube_specification>] [WHERE [<slicer_specification>]] <axis_specification> ::= <set> ON <axis_name> <axis_name> ::= COLUMNS | ROWS | PAGES | SECTIONS | CHAPTERS | AXIS(<index>) teljes összesítés: SELECT FROM forgalom

21 Minta MDX lekérdezések
select {[measures].[darab]} on columns from forgalom; darab 337 select {[measures].[darab]} on columns, {[aru].[kod].members} on rows from forgalom kés villa 62 .. …

22 Minta MDX lekérdezések
select {[measures].[darab]} on columns, {[kod].[varos].members} on rows from forg1 where [aru].[szerszam] darab varos 1 eger 1 dorog 3 pecs

23 Minta MDX lekérdezések
Q: Az eladott termékek éves bontásban Régió Asia Europe USA Pivot Tábla Termék név Idő hónap Változó Forgalom Régió USA Dimension Level Slice Row Column SLICE Termék Toothpaste Juice Cola Milk Cream Soap SELECT {([Time].[1997]), ([Time].[1998].[Q1]:[Q3]), [Time].[1998].[Q4].Children} ON COLUMNS, {([Product].Members)} ON ROWS FROM Office2000 WHERE ([Measures].[Sales Store] , [Region].[USA])

24 Minta MDX lekérdezések
SET mechanizmus WITH SET [ChardonnayChablis] AS '{[Product].[All Products].[Drink].[Alcoholic Beverages]. [Beer and Wine].[Wine].[Good].[Good Chardonnay], …. [Product].[All Products].[Drink].[Alcoholic Beverages]. [Beer and Wine].[Wine].[Pearl].[Pearl Chablis Wine]}' SELECT [ChardonnayChablis] ON COLUMNS, {Measures.[Unit Sales]} ON ROWS FROM Sales

25 Minta MDX lekérdezések
számított mezők WITH MEMBER [Measures].[ProfitPct] AS 'Val((Measures.[Store Sales] - Measures.[Store Cost]) / Measures.[Store Sales])', FORMAT_STRING = 'Percent‘ SELECT { [Store].[Store Name].Members} ON COLUMNS, [Measures].[ProfitPct] } ON ROWS FROM Sales

26 Minta MDX lekérdezések
Segédfüggvények string kezelő, tömb kezelő,… matematikai aggregate, avg, count, sum, min, max, variance, stddev,correlation, linear regression, median struktúra kezelő ancestor, cousin, first child, parent, next member, members,.. drilldownmember,… drillupmember,…

27 Active Data Objects (with ADO/MD)
ADO struktúra Business Application Active Data Objects (with ADO/MD) RDBMS OLE DB Mail Server Active Directory ADs OLE DB for OLAP MD STORE

28 Metadata ADO-MD osztályok CubeDefs Dimensions Hierarchies Levels
Members Connection Cellset Axes Positions Members Cells

29 ADO-MD API Set adoConnection = New ADODB.Connection
adoConnection.Open “Provider=MSOLAP;Data Source=local;Initial Catalog=Foods Set adomdCatalog = New ADOMD.Catalog Set adomdCatalog.ActiveConnection = adoConnection Dim CubeDef As ADOMD.CubeDef Set CubeDef = adomdCatalog.CubeDefs(….) Dim Dimension As ADOMD.Dimension For Each Dimension In CubeDef.Dimensions Debug.print Dimension.Name Next Set cellset = New ADOMD.Cellset cellset.Open MDX, adoConnection ColumnCount = cellset.Axes(0).Positions.Count RowCount = cellset.Axes(1).Positions.Count

30 adatkocka leírása (Decision Support Object)
DSO osztálymodell adatkocka leírása (Decision Support Object) MDStore: Database Cube/Virtual Cube Partition Aggregation MDStore Dimensions Levels Measures

31 client MDX-Q MS PivotTable Service OLAP metadata proc. DW executor


Letölteni ppt "SQL – OLAP 8. óra."

Hasonló előadás


Google Hirdetések