Analýza a modelování dat 5. přednáška Helena...
Transcript of Analýza a modelování dat 5. přednáška Helena...
Multidimenzionální model
● Kvantitativní typ faktu s určitými hledisky –– např.:
– „Kdo komu kdy jak moc čeho prodal.“
– kdo, komu, čeho, kdy – hierarchická hlediska:– divize – pobočka – oddělení – pracovník– region – země – kraj – okres – zákazník– nadkategorie – kategorie – produkt – rok – čtvrtletí – měsíc – den– rok – týden – den
● i více různých hierarchií pro jedno hledisko
– hlediska jsou vzájemně nezávislá
Multi-dimenzionalita
● Každé hledisko = jedna dimenze● Kvantitativní ukazatel (measure) = číselná
funkce v multi-dimenzionálním prostoru
Ukázka OLAP v MS Access:http://nb.vse.cz/~palovska/bivs/SevVi.zip
snímek z Accessu
dimension
dimension dimension
dimension hierarchy level
hierarchy level
hierarchy level
measure
Agregace (roll up)
● Nadřízené elementy „agregují“ measure– rok agreguje čtvrtletí, ...
– kategorie produktu agreguje její podkategorie
Více různých ukazatelů...
● Pro stejné dimenze různé ukazatele (measures):
– množství
– tržba
– zisk
– očekávané prodeje
– ...
Příkladhttp://msdn.microsoft.com/en-us/library/aa216772(SQL.80).aspx
Vlastnosti pozic (members) v dimenzích
● Mohou mít popisné atributy– váha, charakteristika, adresa
● Dají se použít efektivní identifikátory– množina pozic dané dimenze je většinou
relativně stálá
Dotazovací jazyk (MDX)
SELECT axis1 ON COLUMNS, axis2 ON ROWS FROM cube
SELECT
Years.MEMBERS ON COLUMNS,
Regions.Continent.MEMBERS ON ROWS
FROM Sales
základní syntaxe
Příklady: Mosha Pasumansky
Dotazovací jazyk (MDX)
SELECT
{ Years.[1996], Years.[1997] } ON COLUMNS,
Regions.Continent.MEMBERS ON ROWS
FROM Sales
výběr pozic z dimenze
Dotazovací jazyk (MDX)
SELECT
{ Years.[1996], Years.[1997] } ON COLUMNS,
Regions.Continent.MEMBERS ON ROWS
FROM Sales
WHERE ( Products.[Product Group].[Computers] )
slice
Dotazovací jazyk (MDX)
SELECT
{ Years.[1996], Years.[1997] } ON COLUMNS,
Regions.Continent.MEMBERS ON ROWS
FROM Sales
WHERE ( Products.[Product Group].[Computers], Customers.[AT&T] )
slice
Dotazovací jazyk (MDX)
SELECT
{ Years.[1996], Years.[1997] } ON COLUMNS,
Regions.Continent.MEMBERS ON ROWS
FROM Sales
WHERE
( Products.[Product Group].[Computers],
Customers.[AT&T],
Measures.[Units] )
slice
Dotazovací jazyk (MDX)
SELECT
{ Continent.[Europe], Continent.[Asia] } ON AXIS(0),
{ Product.[Computers], Product.[Printers] } ON AXIS(1),
{ Years.[1996], Years.[1997] } ON AXIS(2)
FROM Sales
více-dimenzionální výsledek
Dotazovací jazyk (MDX)
WITH
MEMBER Measures.Profit AS 'Measures.Sales – Measures.Cost'
SELECT
Products.MEMEBERS ON COLUMNS,
Year.MEMEBERS ON ROWS
FROM Sales
WHERE ( Measures.Profit )
výrazy
Dotazovací jazyk (MDX)
WITH
MEMBER Measures.Profit AS 'Measures.Sales – Measures.Cost'
MEMBER Measures.ProfitPercent AS 'Measures.Profit / Measures.Cost', FORMAT_STRING = '#.#%'
SELECT
{ Measures.Profit, Measures.ProfitPercent } ON COLUMNS
FROM Sales
výrazy
Dotazovací jazyk (MDX)
WITH MEMBER Time.[97 to 98] AS 'Time.[1998] – Time.[1997]'
SELECT
{ Time.[97 to 98] } ON COLUMNS,
Measures.MEMBERS ON ROWS
FROM Sales
výrazy
Dotazovací jazyk (MDX)
WITH MEMBER Measures.Profit AS 'Measures.Sales – Measures.Cost'
MEMBER Time.[97 to 98] AS 'Time.[1998] – Time.[1997]'
SELECT { Measures.Sales, Measures.Cost, Measures.Profit } ON COLUMNS,
{ Time.[1997], Time.[1998], Time.[97 to 98] } ON ROWS
FROM Sales
výrazy
Dotazovací jazyk (MDX)
WITH
MEMBER Measures.PercentageSales AS '(Regions.CurrentMember, Sales) / (Regions.CurrentMember.Parent, Sales)' , FORMAT_STRING = '#.00%'
SELECT
{ Sales, PercentageSales } ON COLUMNS, Regions.Cities.MEMBERS ON ROWS
FROM Sales
relativní odkazy
Dotazovací jazyk (MDX)
WITH MEMBER Measures.[Sales Growth] AS '(Sales) – (Sales, Time.PrevMember)'
SELECT
{ [Sales], [Sales Growth] } ON COLUMNS,
Month.MEMBERS ON ROWS
FROM Sales
relativní odkazy
Dotazovací jazyk (MDX)
WITH MEMBER Measures.[Sales Growth] AS '(Sales) – (Sales, Time.PrevMember)'
SELECT
{ [Sales], [Sales Growth] } ON COLUMNS,
Product.MEMBERS ON ROWS
FROM Sales
relativní odkazy
Dotazovací jazyk (MDX)
SELECT { [Europe], [USA], [USA].Children, [WA].Children, [Asia]} ON COLUMNS,
Year.MEMBERS ON ROWS
FROM Sales
množiny pozic
Multidimenzionální model● Přednosti
– vhodný pro OLAP aplikace● logický pohled odpovídá OLAP dotazům
● Nevhodný pro– OLTP
● zpracování transakcí business procesů
– proměnlivé struktury a množiny prvků dimenzí
– relační vyhledávání● knihovny, kina, dopravní spojení...
Populární vhled: http://www.dwreview.com/OLAP/Introduction_OLAP.html