You are on page 1of 94

TRNG I HC S PHM TP.

CM
KHOA TON TIN HC
B MN TIN HC

Trn Vnh Tin c Nguyn Ph Thnh

NGHIN CU CNG NGH OLAP


V NG DNG

LUN VN C NHN CNG NGH THNG TIN

TP.HCM, Thng 4-2010

TRNG I HC S PHM TP.CM


KHOA TON TIN HC
B MN TIN HC

Trn Vnh Tin c Nguyn Ph Thnh

NGHIN CU CNG NGH OLAP


V NG DNG

GIO VIN HNG DN: NGUYN TH TR LINH

TP.HCM, Thng 4-2010

Li cm n.
u tin, chng em xin gi li cm n su sc n C Nguyn Th Tr Linh
v Thy Trn Ngc Bo l nhng ngi trc tip hng dn ngy hm nay
chng em c th hon thnh lun vn ny. Chc chn rng nu khng c s du dt
v tn tnh gip ca C v Thy th chng em s gp rt nhiu kh khn trong
qu trnh nghin cu thc hin lun vn.
K n, chng em mun trn trng cm n cng lao to ln ca Ba M,
nhng ng sinh thnh nui nng v dy d chng em nn ngi nh ngy hm
nay. Chc chn rng sau ny d c lm g, d c i u, chng em cng s khng
lm ph lng Ba M.
Cui cng, xin gi li cm n chn thnh n trng i hc S Phm
Thnh Ph H Ch Minh, ni dnh s quan tm rt ln i vi sinh vin cng
ngh thng tin chng em trong sut qu trnh hc tp ti y. c bit, xin trn
trng cm n tan th cc Thy C khoa Ton-Tin. Trn con ng gp nht nhng
kin thc qu bu ca ngy hm nay, cc thy, cc c, v bn b l nhng ngi
dy d, cng chng em st cnh v tri nghim trong sut 4 nm i hc.

Mc lc

Li cm n. ............................................................................................................................ 2
Mc lc .................................................................................................................................. 3
Bng cc k hiu, ch vit tt ................................................................................................. 6
Bng danh mc cc bng biu ............................................................................................... 7
Bng danh mc cc hnh v ................................................................................................... 8
Tm tt ni dung lun vn ................................................................................................... 10
M u ................................................................................................................................. 11
C s l thuyt ..................................................................................................................... 15
Chng 1

Cng ngh OLAP ....................................................................................... 15

1.1 Gii thiu v Data Warehouse .............................................................................. 15


1.1.1 nh ngha...................................................................................................... 15
1.1.2 ngha ca Data Warehouse......................................................................... 16
1.1.3 c im ca Data Warehouse ...................................................................... 16
1.1.4 Cu trc ca Data Warehouse ........................................................................ 19
1.2 Tng quan v OLAP ............................................................................................. 19
1.2.1 Gii thiu ....................................................................................................... 19
1.2.2 c im ca OLAP: ..................................................................................... 21
1.3 Cc m hnh OLAP............................................................................................... 21
1.3.1 MOLAP (Multidimensional OLAP) .............................................................. 21
1.3.2 ROLAP (Relational OLAP) ........................................................................... 22
1.3.3 HOLAP (Hybrid OLAP) ................................................................................ 25
1.3.4 So snh cc m hnh ...................................................................................... 26
Chng 2

OLAP trong MS SQL Server Analysis Service (SSAS) ............................ 27

2.1. Kin trc cc thnh phn OLAP trong SSAS ...................................................... 27


2.1.1 Cube ............................................................................................................... 27
2.1.2 Dimension ...................................................................................................... 29
2.1.3 Measure.......................................................................................................... 31
2.1.4 Fact table (Fact) ............................................................................................. 31
2.1.5 Slice ............................................................................................................... 32
2.1.6 Partition.......................................................................................................... 33

2.1.7 Role ................................................................................................................ 33


2.1.8 Schedule (Lp lch) ........................................................................................ 34
2.2. Quy trnh thit k cc i tng trong SSAS ...................................................... 35
2.2.1 S lc v quy trnh xy dng Data Warehouse ........................................... 35
2.2.1.1 Quy trnh chung ........................................................................................... 35
2.2.1.2 Cng c thc hin: ....................................................................................... 37
2.2.2 Quy trnh to Cube: ....................................................................................... 37
Chng 3

Component Pivot Table trong Excel ......................................................... 43

3.1. Pivot Table ........................................................................................................... 43


3.1.1 Gii thiu ....................................................................................................... 43
3.1.2 Cch s dng ................................................................................................. 43
3.2. PivotChart ............................................................................................................ 46
3.3. Gii thiu mt s cng c h tr OLAP tng t nh Pivot Table ca Excel .... 47
3.3.1 RadarCube OLAP .......................................................................................... 47
3.3.2 Data Dynamics Analysis................................................................................ 48
3.3.3 ComponentOne OLAP for WinForm ............................................................ 49
3.3.4 Devexpress ASPxPivotGrid........................................................................... 49
3.4 So snh Pivot Table vi cc cng c khc:........................................................... 50
u im: .................................................................................................................. 50
Nhc im: ............................................................................................................ 50
Kt lun:................................................................................................................... 51
Chng 4

Cc th vin lp trnh lin quan n SSAS ................................................ 52

4.1. AMO .................................................................................................................... 52


4.2. ADOMD.NET...................................................................................................... 53
4.3. SMO ..................................................................................................................... 53
4.4. MDX .................................................................................................................... 55
4.4.1 Cu trc chung ............................................................................................... 55
4.4.2 V d mu....................................................................................................... 55
4.4.3 Lu .............................................................................................................. 56
Chng 5

Xy dng cng c Web h tr phn tch d liu cho cc ng dng OLTP58

5.1. Phn tch, thit k................................................................................................. 58


5.1.1 Phn tch ........................................................................................................ 58
5.1.1.1 Quy trnh x l nghip v: .......................................................................... 58
5.1.1.2 Yu cu chc nng:...................................................................................... 60
5.1.1.3 M hnh quan nim d liu: ......................................................................... 66

5.1.2 Thit k .......................................................................................................... 72


5.1.2.1 D liu: ........................................................................................................ 72
5.1.2.2 Kin trc module: ........................................................................................ 79
5.1.2.3 H thng giao din: ...................................................................................... 80
5.2. Ci t, lp trnh................................................................................................... 88
nh gi, bn lun v kt qu .............................................................................................. 89
Kt lun - Hng pht trin ................................................................................................. 91
Cc kt qu t c ................................................................................................... 91
1. V l thuyt .............................................................................................................. 91
2. V thc nghim ........................................................................................................ 91
Danh mc ti liu tham kho ............................................................................................... 93

Bng cc k hiu, ch vit tt


Ting Anh:
AMO :

Analysis Management Objects

BI:

Business Intelligence

DTS:

Data Transformation Services

ETL:

Extract Transform - Load

HOLAP :

Hybrid OLAP

MDX:

Multi-dimensional Expressions

MOLAP :

Multidimensional OLAP

OLAP:

Online Analytical Processing

ROLAP :

Relational OLAP

SMO:

SQL Server Management Objects

SSAS:

SQL Server Analysis Services

Ting Vit:
CSDL:

C s d liu

Bng danh mc cc bng biu


Bng 1: So snh cc m hnh OLAP.........................................................................26

Bng danh mc cc hnh v


Hnh 1: Cc dng c s d liu .................................................................................11
Hnh 2: V d v mt mu bo co c nh ..............................................................12
Hnh 3: Minh ha v tr ca ng dng .......................................................................13
Hnh 4: Data Warehouse ...........................................................................................15
Hnh 5: c im ca Data Warehouse ....................................................................17
Hnh 6: Cu trc ca Data Warehouse ......................................................................19
Hnh 7: V tr ca OLAP ...........................................................................................19
Hnh 8: M hnh d liu MOLAP .............................................................................22
Hnh 9: M hnh d liu ROLAP..............................................................................23
Hnh 10: Lc hnh sao .......................................................................................24
Hnh 11: Lc hnh bng tuyt ............................................................................24
Hnh 12: M hnh d liu HOLAP ...........................................................................25
Hnh 13: V d v Khi (Cube) .................................................................................28
Hnh 14: V d v rng trong khi .........................................................................29
Hnh 15: V d v cc Dimension (Chiu) khc nhau ..............................................30
Hnh 16: Fact Table ...................................................................................................31
Hnh 17: Slice ............................................................................................................32
Hnh 18: Cc i tng trong SSAS .........................................................................35
Hnh 19: Pivot Table .................................................................................................43
Hnh 20: PivotChart ..................................................................................................46
Hnh 21: RadarCube OLAP ......................................................................................47
Hnh 22: Data Dynamics Analysis ............................................................................48
Hnh 23: ComponentOne OLAP for WinForm ........................................................49
Hnh 24: Devexpress ASPxPivotGrid .......................................................................50
Hnh 25: M hnh x l nghip v qun l template ................................................59
Hnh 26: S Use-Case m t h thng chc nng ca Administrator .................60
Hnh 27: S Use-Case m t h thng chc nng ca Designer .........................61
Hnh 28: S User-Case m t h thng chc nng ca Custom User .................61
Hnh 29: S Use-Case m t chc nng qun l Template .................................62
Hnh 30: S Use-Case m t chc nng phn quyn Template...........................62
Hnh 31: S Use-Case m t chc nng qun l Cube ........................................63
Hnh 32: S Use-Case m t chc nng phn quyn Cube .................................63
Hnh 33: S Use-Case m t chc nng qun l User .........................................64
Hnh 34: S Use-Case m t chc nng qun l Group ......................................65
Hnh 35: S Use-Case m t chc nng qun l Profile......................................65
Hnh 36: S Use-Case m t chc nng cu hnh h thng .................................66
Hnh 37: M hnh quan nim d liu h thng OLAP..............................................67
Hnh 38: M hnh vt l ............................................................................................73
Hnh 39: Mn hnh chnh phn h administrator ......................................................80
Hnh 40: Mn hnh chc nng Copy Rights .............................................................81

Hnh 41: Mn hnh chc nng Active cube ..............................................................81


Hnh 42: Mn hnh chc nng Assign cube to group ...............................................81
Hnh 43: Mn hnh chc nng Assign user to cube ..................................................82
Hnh 44: Mn hnh chc nng List user ....................................................................82
Hnh 45: Mn hnh chc nng Assign Groups ..........................................................83
Hnh 46: Mn hnh chc nng Assign Users ............................................................83
Hnh 47: Mn hnh chc nng Import cube ..............................................................83
Hnh 48: Mn hnh chc nng Assign rights to profile.............................................84
Hnh 49: Mn hnh chc nng Schedule ...................................................................84
Hnh 50: Mn hnh chc nng Setting Connection ...................................................85
Hnh 51: Mn hnh chnh phn h designer ..............................................................85
Hnh 52: Mn hnh chc nng Design template .......................................................86
Hnh 53: Mn hnh chc nng Export template ........................................................86
Hnh 54: Mn hnh chc nng Assign template to user ............................................87
Hnh 55: Mn hnh chnh phn h custom user ........................................................87

Tm tt ni dung lun vn
Tm hiu tng quan v cng ngh OLAP
Tm hiu OLAP trong MS SQL Server Analysis Service (SSAS)
Tm hiu v component Pivot Table trong Excel
Pivot Table
PivotChart
Tm hiu cc th vin lp trnh lin quan n SSAS: MDX, AMO, SMO,
ADOMD.NET, ...
Xy dng cng c h tr phn tch d liu cho cc ng dng OLTP

10

M u
Gii thiu s lc:
Ngy nay, cch mng thng tin v s bng n thng tin trn ton cu dn n
cc thc trng nh sau:
D liu: c lu tr nhiu dng c s d liu khc nhau

Hnh 1: Cc dng c s d liu

Nhiu h thng thng tin c xy dng gy ra h qu:


Nhng giao din khc nhau
Nhng dng biu d liu khc nhau
Thng tin trng lp v khng nht qun
Trong khi , cc phn mm v h thng bo co thng ch cung cp
mt s mu bo co c nh.
VD: Bo co v im cui k ca sinh vin

11

Hnh 2: V d v mt mu bo co c nh

Vy tnh hung t ra l ta s x l nh th no khi ngi dng mun:


9 Xem thm thng tin v 1 thnh phn no trong CSDL ngoi nhng
thnh phn c trn report
9 Xem report theo nhiu hnh thc khc nhau, ngoi dng table qu
quen thuc
Khng cn cch no khc hn l ta phi to thm 1 report mi !!!

tng, l do chn ti:


T thc trng trn, c th thy rng nhu cu phn tch s liu h tr ra
cc quyt nh chin lc mt cch kp thi tr nn ngy cng cp thit.

12

Trong mi trng kinh doanh hin i, cc lnh o doanh nghip cn c


nhng thng tin mang tnh qun tr chnh xc, nhanh chng v nhiu gc khc
nhau nhm thc hin vic ra quyt nh kinh doanh hiu qu.
V th, tng ca ti l s dng h thng OLAP kt hp vi Data
warehouse to ra 1 cng c gip ngi dng - c bit l nh qun l, nhng
ngi ra quyt nh - d dng khai thc, truy xut c cc mu d liu m h quan
tm.

Hnh 3: Minh ha v tr ca ng dng

Mc ch ti
Xy dng 1 cng c phn tch d liu trc tuyn trn nn web cho php:
Phn tch s liu da trn nhiu ch tiu, yu t.

13

C h thng phn quyn cht ch v chc nng v d liu trn ngi


dng ln nhm ngi dng
C h thng report, chart,... trc quan, a dng, h tr ko th
C h thng template gip ngi dng d dng hn trong qu trnh xem
v phn tch d liu
C chc nng Import, Export template, d liu,... phc v cho nhu cu
chuyn i gia cc h thng khc nhau
Ty theo nhu cu / la chn ca ngi s dng khi phn tch s liu.
c lp vi h thng c s d liu ca ngi dng

i tng v phm vi nghin cu


Cng ngh Data Warehouse v OLAP
Cc m hnh OLAP: MOLAP, ROLAP, HOLAP
Tm hiu OLAP trong MS SQL Server Analysis Service (SSAS)
Quy trnh thit k cc i tng trong SSAS: Data Source, Data Source
View, Cube, Dimension, ...
Component Pivot Table v PivotChart trong Excel
Cc th vin lp trnh lin quan n SSAS:

MDX, AMO, SMO,

ADOMD.NET,...
Xy dng cng c h tr phn tch d liu cho cc ng dng OLTP

14

C s l thuyt
Chng 1 Cng ngh OLAP
1.1 Gii thiu v Data Warehouse
1.1.1 nh ngha

Hnh 4: Data Warehouse

Kho d liu (data warehouse), gi mt cch chnh xc hn l kho thng tin


(information warehouse), l mt c s d liu hng i tng c thit k vi
vic tip cn cc kin trong mi lnh vc kinh doanh. N cung cp cc cng c
p ng thng tin cn thit cho cc nh qun tr kinh doanh ti mi cp t
chc - khng nhng ch l nhng yu cu d liu phc hp, m cn l iu kin
thun tin nht t c vic ly thng tin nhanh, chnh xc.

15

L mt s pha trn ca nhiu cng ngh, bao gm cc c s d liu a chiu v


mi quan h gia chng, kin trc ch khch, giao din ngi dng ha,...
Kho d liu thng rt ln ti hng trm GB hay thm ch hng Terabyte. Kho
d liu c xy dng tin li cho vic truy cp theo nhiu ngun, nhiu kiu
d liu khc nhau sao cho c th kt hp c c nhng ng dng ca cc cng
ngh hin i v k tha c t nhng h thng c sn t trc.

1.1.2 ngha ca Data Warehouse


Truy cp d liu mt cch thng nht :
Thu thp v kt hp thng tin.
Cung cp mt khung nhn tch hp
Giao din ngi s dng khng bin i
H tr kh nng chia s.
D liu c tch hp v t chc:
Lm cho h thng tr nn d hiu
R rng
D phn tch
Chuyn i d liu thnh thng tin: cung cp thng tin chnh xc ng thi im
v ng nh dng

1.1.3 c im ca Data Warehouse

16

Hnh 5: c
im c
a Data Waarehouse

Tch hpp (Integrateed):


D liu tp
t hp t nhiu nguun khc nh
hau trong mt
m t chcc/cng ty v
v cc
ng nht, xp xpp, rt gn.
L mt tp
t hp thng tin chnnh xc, cht lng v nht qunn
Chun ha :
Cc
C qui cc tn
Cc
C thuc tnh
Cc
C n v o
lng
Hng ch
c th (S
Subject-orieented): Ch
huyn t h
ng ng ddng sang hng h
tr quytt nh
c

t ch
c xung quuanh cc ch
h th chnnh, nh khch hng (ccustomer),,
sn phm (pproduct), bn hng (saales).
Tp trung vo
v vic m hnh haa v phn tch
t
d liuu cho cc nh
n a raa
quuyt nh, m khng tp trung vo cc hoot ng haay cc x l ton tcc

17
7

hng ngy.
Cung
C
cp mt
m khung nhn n gin
g
v sc tch xunng quanh cc s kinn
ca cc ch th
Bin th
i gian (Tim
me-variantt): Cc d liu c nh ngha vo mt thi im
m
xc nhh v c ghi
g chp li phc v cho vic so
s snh d
liu theo chiu thii
gian
Yu
Y cu quaan trng i vi kho d
d liu l phm
p
vi v thi gian di hn soo
v
i cc h thhng tc ngghip :

C s d liu tc nghip: d liuu ch c gi tr hin th


C
hi

D liu caa kho d liu: cung cp thng tiin lch s (v


D
( d nh,,
5--10 nm tr
c)

Yu
Y t thi gian c lu tr tro
ong CSDL

C nh (Non-volaatile ): d liu c th c thm vo nh


ng khng
g c saa
cha hoc xa b. Nhm giim nh qun
q
l c th tng hp cng vic kinhh
doanh ca ton t chc/cng
c
ty.

18
8

1.1.4 Cu trc ca Data Warehouse

Hnh 6: Cu trc ca Data Warehouse

Mt Data warehouse c cu to t mt hay nhiu cube (khi nim ny s


cp phn sau).
Enterprise Data warehouse: tp hp ton b thng tin v cc i tng ca ton
t chc/cng ty. V d: sn phm, khch hng, doanh thu
Data mart (kho d liu ch ): l mt tp con ca Data warehouse, ch tp trung

vo nhng i tng c chn.

1.2 Tng quan v OLAP


1.2.1 Gii thiu

Hnh 7: V tr ca OLAP

19

Nu h thng x l chuyn giao d liu OLTP tp trung vo vic thu thp, lu


tr v bin i d liu mt cch chun xc, th OLAP tp trung vo vic s dng
cc d liu c bin i vo vic ra quyt nh sn xut kinh doanh. OLAP
l mt mc trong cc phn mm c s d liu cung cp giao din qua ngi
s dng c th bin i hoc gii hn cc d liu s khai tu theo cc hm
nh ngha hoc do chnh ngi s dng nh ngha, sau nhanh chng kim
tra cc kt qu trong cc chiu khc nhau ca d liu
H thng OLAP l mt h thng qun l d liu giu nng lc. N cho php
ngi s dng phn tch d liu qua vic ct lt (slice) d liu theo nhiu kha
cnh khc nhau, khoan xung (drill down) mc chi tit hn hay cun ln (roll
up) mc tng hp hn ca d liu. Bn cht ct li ca OLAP l d liu c
ly ra t Data warehouse hoc t Datamart sau c chuyn thnh m hnh
a chiu v c lu tr trong mt kho d liu a chiu.
C th, OLAP l mt k thut s dng cc th hin d liu a chiu gi l cc
khi (cube) nhm cung cp kh nng truy xut nhanh n d liu ca kho d
liu. To khi cho d liu trong cc bng chiu (dimension table) v bng s
kin (fact table) trong kho d liu cung cp kh nng thc hin cc truy vn
tinh vi v phn tch cho cc ng dng client.
OLAP cung cp nhiu li ch cho ngi phn tch, cho v d nh:
Cung cp m hnh d liu a chiu trc quan cho php d dng la chn,
nh hng v khm ph d liu.
Cung cp mt ngn ng truy vn phn tch, cung cp sc mnh khm
ph cc mi quan h trong d liu kinh doanh phc tp.
D liu c tnh ton trc i vi cc truy vn thng xuyn nhm
lm cho thi gian tr li rt nhanh i vi cc truy vn c bit.

20

Cung cp cc cng c mnh gip ngi dng to cc khung nhn mi ca


d liu da trn mt tp cc hm tnh ton c bit.
H tr to m hnh chc nng d bo, phn tch xu th pht trin v
phn tch thng k.
Tm kim v hin th d liu di dng biu , khng gian 2D, 3D,
OLAP c t ra x l cc truy vn lin quan n lng d liu rt ln m
nu cho thc thi cc truy vn ny trong h thng OLTP s khng th cho kt qu
hoc s mt rt nhiu thi gian.

1.2.2 c im ca OLAP:
c bit n nh l mt phn ca kho d liu
Cung cp cc bo co, phn tch tin tnh ton, cc th, biu
Cho php phn tch trc tuyn d liu
Thm d s tng tc d liu
Cung cp cc giao din a dng cho ngi dng
Cung cp kh nng phn tch d liu phc tp bng phng thc n gin

1.3 Cc m hnh OLAP


1.3.1 MOLAP (Multidimensional OLAP)
M hnh MOLAP lu tr d liu c s (l d liu t cc bng ca kho d liu)
v thng tin tng hp (l cc o c tnh ton t cc bng) trong cc khi

21

Hnh 8: M hnh d
d liu MO
OLAP

D liu c

tm thhy ti im
m giao caa cc chiuu

D liu trong
t
MOL
LAP cn phhi c process sau mt thi ggian nht nh

cpp
nht li nhng
n
d liu
l mi troong Data Warehouse
W
.
MOLAP
P thch h
p cho cc truy vn tng
t
hp d
d liu theeo thi gian di.
V d: tng hp doanh thu ca tng chi nhnh tronng vng 2 nnm tr lii.

1.3.2 RO
OLAP (R
Relationaal OLAP
P)
M hnhh OLAP quuan h (RO
OLAP) lu
u tr d liu c s v thng tin
n tng hpp
trong ccc bng quaan h

22
2

Hnh 9:
9 M hnh d liu RO
OLAP

D liu c

tm thhy ti im
m giao caa 1 ct v 1 mt hngg

C 2 kiu m hnh d liu:


Lc hnnh sao (staar): mi m
t chiu chh c xy dng t
mt bngg
chhiu

23
3

Hnh 10: Lc hnh sao

Lc hnh bng tuyt (snowflake): mi chiu c xy dng t nhiu


bng chiu

Hnh 11: Lc hnh bng tuyt

ROLAP thch hp cho cc truy vn d liu theo thi gian thc (xy ra
thng xuyn v i hi chnh xc tc thi).
V d: xem thng tin chng khon

24

1.3.3 HOLAP (Hybrid OLAP)


L m hnh OLAP lai (HOLAP) l s kt hp gia MOLAP v ROLAP.

Hnh 12: M hnh d liu HOLAP

HOLAP l m hnh lai gia MOLAP v HOLAP, kt hp nhng u im v


loi b nhng khuyt im ca 2 m hnh trn nhm to ra mt m hnh ti u

Li ch ca vic lu tr trong cu trc HOLAP l:


Lu d liu tng hp trong Cube (theo MOLAP) tng tc x l cc
truy vn phc tp
Lu tr d liu c s trong cc bng quan h (theo ROLAP) nhm tit
kim khng gian lu tr
V d: Trong mt cng ty chng khon:
D liu v thng tin nhn vin, doanh thu ca 2 nm tr v trc
=> lu trong cube
D liu v thng tin chng khon, gi c phiu hng ngy
=> lu trong bng quan h
Ti u ha c vn lu tr v x l ca h thng.

25

1.3.4 So snh cc m hnh


MOLAP
>2
Khi

ROLAP
2
Bng quan h

HOLAP
>2
Bng quan h

Khi

Bng quan h

Khi

Hiu sut thc hin truy vn

Nhanh nht

Chm nht

Nhanh

Tiu th khng gian lu tr

Nhiu

Thp

Trung bnh

Cao

Thp

Trung bnh

S chiu
Lu tr d liu c s
Lu tr thng tin tng hp

Chi ph bo tr

Bng 1: So snh cc m hnh OLAP

KT LUN:
Chn m hnh no cn da vo hiu sut, mc ch khai thc, v lng d
liu, (v d MOLAP: thch hp vi data marts <50 GB, ROLAP: lng d liu
c th ln hn)

26

Chng 2 OLAP trong MS SQL Server Analysis


Service (SSAS)
Gii thiu s lc v SSAS
T trc n nay, SQL Server c bit n vi vai tr l mt h qun tr c s
d liu c trch nhim h tr qun l, lu tr d liu vi Database Engine. Tuy
nhin, t phin bn SQL Server 2005 n SQL Server 2008 v mi nht l SQL
Server 2008 R2, th b SQL Server c tch hp nhiu gi dch v h tr
vic tch hp v khai thc kh nng tim tng ca mt c s d liu nh SQL
Server Integrating Services, SQL Server Analysis Services v SQL Server
Reporting Services.
Analysis Services l mt dch v h tr mnh m vic phn tch, khai thc thng
tin tim tng bn trong ca mt h c s d liu.
Analysis Services l cng c d s dng, tch hp v linh ng gip nh ngha
cc chiu, xy dng cc khi d liu a chiu v cung cp cc chng trnh ng
dng truy xut ti cc khi ny.

2.1. Kin trc cc thnh phn OLAP trong SSAS


2.1.1 Cube
Cube (Khi) l phn t chnh trong x l phn tch trc tuyn, l tp con
(subset) d liu t kho d liu, c t chc v tng hp trong cc cu trc a
chiu.
Cube dng cc dimensions, fact table v cc measure m t d liu trong
cube.
V d : mt cube 3 chiu

27

Hnh 13: V d v
v Khi (Cu
ube)

Mt cube c th c nhiu chiu


Nu
N c nhiu hn 3 chhiu s
c gi l siiu khi (hypercube)
V
V mt l thhuyt th s chiu l khng
k
hn ch
Thng th s chiu l t 4 n 12
1
Mt cube bao gm
m nhiu d
liu
L mt lin kt gia cc gi tr c
a chiu
Mt
M c th l rng (kkhng c d
d liu cho lin kt ny)
Khi
K
tha (ssparsecubee): c nhiu
u rng
Khi
K
dy c (densecuube): c t rng
V d v rng:
V

28
8

Hnh 14: V d v rng trong khi

Cube biu din d liu di dng tng hp nhiu hn l chi tit nh khi dng
bng thng thng. Do , cube cho ngi dng thy c ci nhn tm tt,
tng hp ca ton b d liu.
Mt cube c th cha ton b hoc mt phn ca d liu ngun (Data source
view). V vy cc cube ch c lu tr v truy cp qua gii hn ring ca n.
D liu c chuyn t ngun n cc cube qua cng c ETL (Extract,
Transform, and Load).

2.1.2 Dimension
Cc chiu l cch m t chng loi m theo cc d liu trong Cube c
phn chia phn tch
Mi chiu c th c xy dng trn mt hoc nhiu bng chiu (dimension
table) nhm m t cho chiu
Cc chiu c nh x t thng tin ca cc bng chiu trong kho d liu vo
cc mc phn cp, v d nh chiu a l th gm cc mc nh Lc a, Quc
gia, Tnh-Thnh ph. Trong v d m hnh kinh doanh trn, chiu Thi gian c
th c m t bi cc thuc tnh nh Nm, Qu, Thng v Ngy.

29

Cc chiu c to mt ccch c lp v c th chia s giia cc OL


LAP Cubee
nhm xy dng cc Cube d dng v
chc chn rng thng tin tn
ng hp choo
phn tchh lun n nh.

Hnh 15: V d v
v cc Dimeension (Chiu) khc n
nhau

Chiu c s phn cp
c :
Phn cpp l ct snng ca vicc gp d liiu hay nii mt cchh khc l d
a vo ccc
phhn cp m vic gp d liu m
i c th th
hc hin
c. Phn ln cc ch
hiu u c
m cu trcc a mc hay
mt
h phn cp.
V d: Nu
N chng ta lm nh
ng quyt nh v gi sn phm
m ti a doanh thuu
thh chng ta cn quan st nhnng d liu v
v doanh thhu sn phm c g
p theo gi
sn phm, t
c l chngg ta thc hin mtt cch gp. Khi cn lm nhng quyt
q
nhh
khhc th chng ta cn thc
t
hin nhng
n
php
p gp tnng ng khcc.
Nh vyy c th c qu nhiuu tin trnh
h gp. Th nn cc tin trnh g
p ny cnn
phhi c thhc hin mt
m cch d
d dng, lin
nh hot c th h tr nhng
g phn tchh
khhng hochh nh tr
c. iu ny c th c

gii quyt
q
trn c s c s
s tr gipp
ca nhng phn
p
cp rng v su..

30
0

2.1.3 Measure
Cc n v o ca khi l ccc ct trong bng Factt. Cc n v o ln
ng xc nhh
nhng gi tr s t
bng Factt m c tng hp phn tch nnh nh gi,
g tr gi,,
l
bn.
hoc s lng
L n v
v o nnh gi, phn tch d liu.
l

2.1.4 Facct table (Fact)


(
Fact l bng m t s kinn m h th
hng mun phn tcch, kt h
p vi ccc
dimensioon cc xy dng sn nhm t chc d
liu mt ccch c h thng.
Mt factt gm cc trng chha kho chnh
c
ca cc
c dimension m n
kt hp,,
ng th
i cha ccc measure ca
c cube. Mi
M fact c cc measuure khc nh
hau.
Fact
c lu ti mt
m cp d liu th no

H
Hnh
16: Fact Table

31
1

2.1.5 Slice
Slice l mt lt ct, tng ng mt gi tr duy nht cho chiu c chiu
vi cc gi tr thnh vin ca cc chiu khc.

Hnh 17: Slice

32

2.1.6 Partition
Tt c cc khi u c ti thiu mt phn hoch (Partition) cha d liu ca
n. Mt partition n c t ng to ra khi khi c nh ngha.
Khi ta to mt partition mi cho mt khi, partition mi ny c thm vo
trong tp hp cc partition tn ti i vi khi.
Khi phn nh d liu c kt ni c trong tt c cc partition ca n. Mt
bng partition ca khi l v hnh i vi ngi dng.
Cc partition tiu biu cho mt cng c mnh, mm do cho vic qun tr cc
khi OLAP, c bit cc khi ln.
V d: Mt khi cha thng tin thng mi c th cha trong mt hoc nhiu
partition cho d liu ca nhng nm trc v cc partition cho mi qu ca nm
hin ti. Cui nm cc bng partition ca bn qu c th c hp nht trong
mt partition n cho nm . Cc bng partition c th c lu tr vi cc s
la chn kt hp khc nhau theo phng thc lu tr, nh v d liu ngun v
thit k kt hp. Tnh mm do ny cho php ta thit k cc chin lc lu tr
khi thch hp vi cc yu cu ca ta.

2.1.7 Role
Bo mt trong Analysis Services c tch hp sn v da trn bo mt ca
Microsoft Windows. Analysis Services c bo mt, ta to cc role trong
database OLAP. Mi role c th cha mt hoc nhiu user (group) c to
trong h iu hnh. Mi role c to ra s lin kt vi cc cube trong database
OLAP. Nh vy, ta c th qun l s bo mt ca cube bng cch hn ch truy
cp metadata (cc member trong dimemsion) cng nh truy cp data (cc gi tr
lu tr trong cube).
Analysis Services c mt role c nh c to sn, bao gm cc thnh vin ca
group Administrators trn my ch server, c gi l server role.
c th thc thi mi tc v trong h thng Analysis Services, user ang dng

33

phi l thnh vin ca group Administrators. Tt c thnh vin trong group ny


c ton quyn trn cc cube v cc database ca server.
Trong thc t, ngi ta to ra cc role trn mi database, gi l database role,
cho php mt user ch c quyn qun tr trn mt database.
Ngoi ra, ta cn c th to cc role cp cube (truy cp ton b mt s cube
quy nh) hoc cp dimension (truy cp data mt s dimension ca mt
s cube nht nh)

2.1.8 Schedule (Lp lch)


Ti mt thi im no , h thng OLAP server cn phi process li update
nhng thay i t pha Database Server, m bo cho Client c th truy xut
c nhng d liu mi nht v y ca h thng.
C 2 cch process: th cng v t ng
Th cng: c th tin hnh process th cng khi cn thit ( c s thay i
d liu hay cu trc h thng).
T ng: c th lp lch cho h thng t ng process sau mt khong
thi gian quy nh trc.

34

2.2. Quy trnh thit k cc i tng trong SSAS

Hnh 18: Cc i tng trong SSAS

2.2.1 S lc v quy trnh xy dng Data Warehouse


2.2.1.1 Quy trnh chung
Nhn dng d liu ngun (Identify the data source):
Mt trong nhng bc u tin xy dng Data Warehouse l phi
nhn bit cc ngun d liu. Ta cn phi tnh ton v xem xt nhng d
liu no cn thit a vo Data Warehouse.
Trong mt Data Warehouse, c hai loi ngun d liu cn xem xt, l
ngun d liu bn trong (internal data source) v bn ngoi (external data
source). D liu bn trong l nhng d liu c sn trong h thng hin
ti. D liu bn ngoi l nhng d liu t nhiu ngun khc nhau ngoi
h thng.
Chn lc d liu (Extracting Transactional Data):

35

y l bc chi phi hu ht thi gian ca quy trnh, v chng ta cn phi


ly d liu t nhiu ngun nhn dng ra a vo kho lu tr trung
tm.
Do cc ngun d liu xut pht t nhiu h thng khc nhau nn cc h
qun tr CSDL ca chng cng khc nhau, chng hn nh MS Access,
MS SQL Server, Oracle, Sybase, hoc cng c th l flat files,
spreadsheets, mail systems v nhiu dng lu tr d liu khc. V th, ta
cn quyt nh s s dng h CSDL no cho vic t chc kho d liu.
Chuyn i d liu (Transforming Transactional Data):
L qu trnh chuyn i nhm m bo tnh nht qun ca d liu sau khi
c chn lc t nhiu ngun khc nhau.
c th chuyn i d liu vo Data Warehouse mt cch chnh xc, ta
cn phi xc nh nh x ca cc trng (field) t ngun d liu bn
ngoi n cc trng ca data warehouse.
S chuyn i ny c th c thc hin trong qu trnh chn lc
(extracting) hoc trong khi d liu c a vo data warehouse.
Ti d liu (Loading the Data):
Khi qu trnh chn lc, chuyn i v lm sch hon tt, d liu s
c ti vo data warehouse.
Vic ti d liu c th phn thnh hai loi: ti ton b d liu ang c
trong CSDL ngun v ti nhng d liu c s thay i trong CSDL
ngun vo data warehouse.
D liu trong data warehouse phi lun c lm ti, c ngha phi cp
nht nhng thay i ca d liu.
Trong khi cp nht data warehouse cn phi m bo khng c d liu
no b mt, ng thi chi ph cho qu trnh duyt cc file tn ti phi
t mc thp nht.

36

2.2.1.2 Cng c thc hin:


Extract-Transform-Load (ETL): in hnh nh DTS (Data Transformation
Services) trong SQL Server, Informatica,... V cng c ETL dng Open
source c th k n Talend, Kettle
Lp lch: SQL Server Agent dng lp lch cho vic t ng chuyn i t
CSDL ngun vo data warehouse.

2.2.2 Quy trnh to Cube:


Cng c v database mu s dng:
Business Intelligence Studio (i km vi MS SQL Sever)
Adventure Work Cycle Sample Database (c th download ti
http://msftdbprodsamples.codeplex.com/ )
to mt Cube, trc tin ta cn phi c nhng thnh phn sau:
DataSource, DataSource View, Dimension, ...

2.2.2.1 To DataSource
Cc bc nh sau:
1. Trong khung Solution Explorer, phi chut Data Sources v chn New Data
Source
2. Ti mn hnh Welcome to Data Source Wizard, nhn Next chuyn sang
ca s Select how to define the connection
3. Ti ca s Select how to define the connection page, ta c th nh ngha
mt data source bng cch to mi connection hoc trn mt connection
c sn. Trong bi hng dn ny, ta s nh ngha mt data source bng cch
to mi mt connection, kim tra checkbox Create a data source based on
an existing or new connection c chn v nhn New

37

4. Trong dialog box Connection Manager, ta s nh ngha gi tr thuc tnh cho


Data Source. Trong danh sch Provider, chn Native OLE DB\SQL Server
Native Client 10.0
5. Trong Server Name, g vo localhost
6. Kim tra gi tr Use Windows Authentication c chn, trong danh sch
Select or enter a database name, v d y ta chn database Adventure
Works DW2008
7. Nhn Test Connection kim tra kt ni n vi SQL Server
8. Chn OK v nhn Next
9. Ti ca s Impersonation Information, ta s thit lp Security Credential cho
SSAS kt ni ti Data Sources, ta chn Use the Service account, v nhn
Next.
10. Ti mn hnh Completing the wizard, thit lp tn ca Data Source l
Adventure Work DW v chn Finish.

2.2.2.2 To DataSource View


Cc bc nh sau:
1. Trong khung Solution Explorer, phi chut Data Sources Views, v chn
New Data Source Views
2. Ca s Welcome to Data Source View Wizard xut hin, nhn Next
3. Dialog Select data source xut hin, ti mc Relational Data Sources, chn
Adventure Work DW m ta to nh trn ri chn Next.
4. Ti Dialog Select Tables and Views, ta s chn cc bng d liu v views t
danh sch i tng, ta s chn cc i tng sau:

DimCustomer (dbo)

DimDate (dbo)

DimGeography (dbo)

DimProduct (dbo)

38

FactInternetSales (dbo)

5. Nhn nt > thm cc bng vo danh sch Included Objects


6. Nhn Next
7. Ti thuc tnh Name, ta thit lp l Adventure Wordk DW v nhn Finish
hon tt vic nh ngha mt data source view. Data Source View
Adventure Work DW s hin th ti Data Source View Designer trong
Business Intelligence Development Studio v gm cc thnh phn sau:
o

Diagram Pane th hin mi quan h gia cc bng d liu trc quan

Tables Pane: cc bng d liu v schema c th hin theo tree view

Diagram Organizer Pane h tr to cc subdiagram m thng qua


ta c th c dc cc subsets ca data source view

Sau khi hon tt bc ny, ta s c khung nhn ton din v cc bng d liu
v mi quan h ca chng.

2.2.2.3 To Dimension
Cc bc nh sau:
1. Trong pane Solution Explorer, phi chut Dimentsions, chn New
Dimensions.
2. Ti ca s Welcome to Dimension Wizard, chn Next
3. Ti ca s Select Creation Method, m bo ty chn Use an Existing Table
c chn, chn Next.
4. Ti ca s Specify Source Information, m bo data source Adventure
Works DW c chn.
5. Trong danh sch Main Table, chn Date
6. Ti trang Select Dimension Attributes, chn cc Attributes sau:

Date Key

39

Full Date Alternate Key

English Month Name

Calendar Quarter

Calendar Year

Calendar Semester

7. Thay i Attribute Type ca cho thuc tnh Full Date Alternate Key t
Regular sang Date bng cch chn vo Regular v tin hnh thay i. Thc
hin tng t cho cc thuc tnh khc.

English Month Name > Month

Calendar Quarter > Quarter

Calendar Year > Year

Calendar Semester > Half Year

8. Nhn Next
9. Ti mn hnh Completing the Wizard, trong Preview Pane, ta c th thy
dimension Date v cc thuc tnh ca n.
10. Nhn Finish hon tt vic nh ngha Dimension
11. Tin hnh Save All Project

2.2.2.4 To Cube
Cc bc nh sau:
1. Trong Solution Explorer Pane, phi chut Cubes, chn New Cubes
2. Ti ca s Welcome to the Cube Wizard, chn Next
3. Ti ca s Select Creation Method, chn Use existing tables v nhn Next
4. ti ca s Select Measure Group Tables, m bo Adventure Works DW
data source view c chn, v nhn Next.

40

5. Nhn Suggest ca s Suggest Table hin th v xut cc table cn thit


xy dng cc measure group.
6. Nhn Next
7. ti ca s Select Measure, xem li InternetSales measure group v deselect
cc checkbox cho cc gi tr sau
a. Promotion Key
b. Currency Key
c. Sales Territory Key
d. Revision Number
8. Chn Next
9. ti ca s Selecting Existing Dimensions, chn Date dimension dc nh
ngha v chn Next
10. Trong ca s Select New Dimension, chn cc dimension mi thit lp,
m bo Customer, Geography v Product c chn v deselect
InternetSales.
11. Nhn Next
12. ti ca s Completing the Wizard, thit lp name ca Cube l Analysis
Services Tutorial,
13. Chn Finish hon tt
14. Tin hnh Save All

Deploy Cube ln server


1. Trong Solution Explorer Pane, phi chut Analysis Services Tutorial v chn
Properties.
2. ti Configuration Properties ti pane bn tri, chn Deployment
3. Chn OK
4. Phi chut Analysis Service Tutorial project v chn Deploy
5. Review li ca s Output v Deployment Progress Analysis Service
Tutorial m bo cube c build khng c li khi build

41

6. Nh vy project SSAS c deploy ln server

Browsing Cube :
1. Chuyn sang Dimension Designer cho Product Dimension trong Business
Intelligence Studio bng cch double click vo Product dimension trong
Dimension Node
2. Click Browse hin th cy cu trc ca Product Key
3. Chuyn sang Cube Designer trong Business Intelligence Development
Studio bng cch double click vo Analysis Service Tutorial trong cube
node.
4. Chuyn sang Browse tab v nhn vo biu tng reconnect, ca s Browse
tab gm 2 phn

Left Pane: th hin cc i tng ca Analysis Service Tutorial Cube

Right Pane gm 2 phn: phn trn l Filter Pane, phn di l Data


Pane v vic phn tch, th hin d liu s c thc hin ti y.

42

Chng 3 Component Pivot Table trong Excel


3.1. Pivot Table
3.1.1 Gii thiu
Pivot Table l mt cng c rt mnh ca Excel trong vic to ra cc bo co
phn tch d liu. Dng kt hp 2 cng c Pivot Table v PivotChart s to ra
cc bo co phn tch s liu ht sc sinh ng v hiu qu.

Hnh 19: Pivot Table

3.1.2 Cch s dng


To mt Pivot Table
to mt Pivot Table s dng PivotTable Wizard bn cn cho Excel bit tng hp
trng no theo ct v trng no theo hng. Bn cng c th ch nh trng trang
xp cc nhm theo trang. Bn c th o li v tr ca cc trng c mt bng
tng hp khc.

43

Bn c th to mt pivot table t nhiu ngun d liu khc nhau. Thng ngun d


liu l cc bng ca Excel. Bn cng c th to Pivot Table t ngun d liu ngoi,
t nhiu vng hp li, hay t chnh cc Pivot Table khc.
Cc bc
1. Chn mt bt k trong danh sch cn tng hp; gi Data> PivotTable
Report.
2. Trong bc 1 ca PivotTable Wizard, chn ngun d liu ( Microsoft Excel
List hay t cc c s d liu khc); sau nhn nt Next.
3. Trong bc 2 ca PivotTable Wizard, vng a ch ca danh sch xut hin
trong hp Range. Nu a ch sai hy chnh li. Sau nhn Next.
4. Trong bc 3 ca PivotTable Wizard, bn trnh by b cc ca pivot table.
Cc trng tr thnh cc nt nm bn phi ca ca s. Ko nt ng vi
trng d liu vo vng DATA. sp xp mt trng theo ct, ko nt ca
trng len vng COLUMN. sp xp mt trng theo hng, ko n
vng ROW. Nhn nt Next.
5. Trong bc 4 ca PivotTable Wizard, bn ch nh t pivot table. Nu
mun t thm cc tu chn khc cho pivot table, nhn nt Options, t cc
tu chn khc, v nhn OK. sau nhn Finish.

Cc hiu chnh trn mt Pivot Table :


Thay i tn trng
V pivot tables ch l bng hin th thng tin nn bn khng th thay i thng tin
trn bng. Bn ch c th thay tn ca cc trng.
1. hiu chnh tn trng, chn trng
2. nhp tn mi.

44

TIP: thay i cc tu chn khc cho mt trng, nhn kp ln nt ca trng .


Chn cc tu chn.

Thm trng d liu


1. thm trng d liu, chn mt trong bng pivot table.
2. Nhn nt PivotTable Wizard trn thanh PivotTable. (Nhn chut phi ln
vng thanh cng c, chn PivotTable hin th thanh ny nu cha hin)
3. Trong bc 3 ca PivotTable Wizard, ko thm nt ca trng bn mun
thm vo vng DATA; nhn nt Finish.

Thm trng Rows, Columns, hay Pages


1. thm trng hng, ct hay trang, chn mt bt k trong pivot table.
2. Nhn nt PivotTable Wizard trn thanh PivotTable.
3. Trong bc 3 ca PivotTable Wizard, ko cc nt cn thit vo vng ROW,
COLUMN, hay PAGE; sau nhn Finish.
TIP: b mt trng hng, ct hay trang, ko nt trng ra khi pivot table.

nh dng Pivot Table


Bn c th s dng tnh nng AutoFormat nh dng
1. Chn mt trong bng pivot table. Chn Format, AutoFormat.
2. Trn Table Format , chn nh dng mong mun, nhn OK.
Ch : nh dng khng b mt khi ta thay i hay cp nht li bng PivotTable
cn m bo mc Enable Selection trn PivotTable menu ca thanh PivotTable
c chn.

Cp nht Pivot Table


Mt pivot table khng t cp nht khi bn thay i d liu ngun.

45

1. cp nht pivot table, chn mt bt k trong pivot table.


2. Nhn nt Refresh Data trn thanh PivotTable.

3.2. PivotChart
L cng c ca Excel, i chung vi Pivot Table, gip ngi dng xem d liu
theo nhiu dng biu khc nhau mt cch trc quan

Hnh 20: PivotChart

46

3.3. Gii thiu mt s cng c h tr OLAP tng t


nh Pivot Table ca Excel
3.3.1 RadarCube OLAP
L .NET component phc v cho vic phn tch d liu c thit k cho
Windows Forms v c ASP.NET applications:
RadarCube OLAP Grid cho ASP.NET
RadarCube OLAP Chart cho Windows Form
Tham kho: http://www.radar-soft.com/products/

Hnh 21: RadarCube OLAP

47

3.3.2 Data Dynamics Analysis


L .NET component phc v cho vic phn tch d liu c thit k cho
Windows Forms v c ASP.NET applications
Tham kho: http://www.datadynamics.com/products/dda/overview.aspx

Hnh 22: Data Dynamics Analysis

48

3.3.3 ComponentOne OLAP for WinForm


Ch dng cho Windows Forms Application
Tham kho: http://www.componentone.com/SuperProducts/OLAPWinForms/

Hnh 23: ComponentOne OLAP for WinForm

3.3.4 Devexpress ASPxPivotGrid


L 1 .NET control thit k cho ASP.NET phc v OLAP v Data mining
C nhiu h tr v giao din p mt v tnh nng kh phong ph
Xy dng sn rt nhiu class ngi dng ty bin, lp trnh ty theo nhu cu
s dng ca mnh
Tham kho:
http://www.devexpress.com/Products/NET/Controls/ASP/Pivot_Grid/

49

Hnh 24: Devexpress ASPxPivotGrid

3.4 So snh Pivot Table vi cc cng c khc:


u im:
L 1 cng c rt mnh c Microsoft pht trin h tr vic phn tch d liu
trong OLAP v c tch hp trong Excel
i km vi PivotChart cung cp cho ngi s dng 1 ci nhn trc quan, sinh
ng v nhng d liu mun phn tch

Nhc im:
Nhc im ln nht: Pivot Table l COM component nn nu client mun s
dng th bt buc my tnh ca h phi c ci sn Pivot Table
iu ny dn n mt h thng cng nhiu client s dng bao nhiu th cng
phi tn chi ph by nhiu cho vic ci t
Thm vo , nu mun s dng PivotTable trn nn Web th ch chy c
ng dng trn browser IE ca Microsoft (v ch c IE c h tr ActiveX
Control)

50

Kt lun:
Chnh v nhng nhc im ny, nhm em quyt nh khng pht trin ng
dng ca mnh da trn component PivotTable ca Microsoft m s dng
component Devexpress ASPxPivotGrid c gii thiu phn 3.3.4
Vi vic s dng Devexpress ASPxPivotGrid l mt .NET control xy dng
nn ng dng xy dng chy pha sever, nhm em mun rng cc my client ch
cn mt browser bnh thng m khng cn ci t thm bt c cng c no
khc s dng chng trnh.

51

Chng 4 Cc th vin lp trnh lin quan n


SSAS
4.1. AMO
L tp hp cc lp dng qun l tt c cc i tng ca Analysis service nh

Database, Cube, Dimension, Measure


Lu : Th vin AMO ch h tr vic c cu trc ca cc i tng trong AS
ch khng th truy vn d liu.
Ti liu tham kho v AMO MSDN:

http://msdn.microsoft.com/en-us/library/ms124924.aspx
V d v s dng th vin AMO trong ti:
using Microsoft.AnalysisServices;
.....
Server myServer = new Server();
Database myDB = new Database();
Cube myCube = new Cube();
Dimension myDim = new Dimension();
myServer.Connect("localhost");
Database tmpDB = myServer.Databases.FindByName(Project);
Cube tmpCube = tmpDB.Cubes.FindByName(Adventure Works DW);
foreach (CubeDimension tmpCubeDim in tmpCube.Dimensions)
{
.....
}

52

4.2. ADOMD.NET
Vi AMO, ta c th thao tc c vi cc i tng v ly c cu trc cc
thnh phn ca Analysis service. Tuy nhin, khng th truy vn c data.
truy vn data trong Analysis service, ta phi dng th vin ADOMD.NET
Ti liu tham kho v AMO MSDN:
http://msdn.microsoft.com/en-us/library/ms123483.aspx
V d v s dng th vin ADOMD.NET trong ti:
using Microsoft.AnalysisServices.AdomdClient;
...
string strConn = "Provider=MSOLAP.3; Data Source=localhost;Initial
Catalog=Project;Integrated Security=SSPI";
string strMDX = "select " + "[" + attNode.ParentNode["Cube
structure"].ToString() + "].[" + attNode["Cube structure"].ToString() +
"].Members on Columns From [" + tmpCube + "]";
AdomdConnection conn = new AdomdConnection(strConn);
conn.Open();
//create adomd command using connection and MDX query
AdomdCommand cmd = new AdomdCommand(strMDX, conn);
AdomdDataReader Reader = cmd.ExecuteReader();
Reader.Read();
....

4.3. SMO
Dng to cc job trong SQL Server Agent phc v cho vic lp lch process
li Analysis Service Database nhm update nhng thay i t pha Database

53

Server, m bo cho Client c th truy xut c nhng d liu mi nht v y


ca h thng
Ti liu tham kho v AMO MSDN:
http://msdn.microsoft.com/en-us/library/ms162169.aspx
V d v s dng th vin SMO trong ti:
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Smo.Agent;
.....
Server svr = new Server("(local)");
JobServer agent = svr.JobServer;
Job j = new Job(agent, "Smo Job");
j.Create();
JobStep js = new JobStep(j, "Step 1");
js.SubSystem = AgentSubSystem.AnalysisCommand;
string str = @"<Process
xmlns=""http://schemas.microsoft.com/analysisservices/2003/engine"">";
str = str + "<Object><DatabaseID>" + curr_db + "</DatabaseID>";
str = str + "</Object>";
str = str + "<Type>ProcessFull</Type>";
str = str + </Process>";
js.Server = "localhost";
js.Command = str;
js.OnSuccessAction = StepCompletionAction.QuitWithSuccess;
js.OnFailAction = StepCompletionAction.QuitWithFailure;
js.Create();

54

4.4. MDX
Analysis Service khng dng ngn ng truy vn nh i vi c s d liu
quan h thng thng. Thay vo , truy vn d liu ta phi dng n ngn
ng MDX (Multi-dimensional Expressions)

4.4.1 Cu trc chung


Ging cu trc ca 1 cu truy vn SQL trn CSDL thng thng, nhng m
rng hn truy vn trn khi d liu a chiu. Cu truy vn a chiu (MDX)
c

dng

nh

sau:

SELECT [<m t v chiu th 1> [, <m t v chiu th 2>...]] FROM [<m


t v khi liu >] [WHERE [<cc iu kin ct lp>]]
Trong MDX, pht biu SELECT c dng m t 1 tp d liu l 1 tp con
ca d liu a chiu. Mt cu truy vn MDX c cha mt mnh SELECT,
mt mnh FROM v mt mnh ty chn WHERE
Cu truy vn MDX phi cha cc thng tin sau :

S lng chiu (c th m t ti a 128 chiu)

Cc thnh vin ca mi chiu cho tng trc ca cu truy vn


Tn ca khi c cha d liu cho cu truy vn MDX.
Cc thnh vin t 1 chiu ct, theo d liu khi c ct.

4.4.2 V d mu
SELECT { [Measures].[Unit Sales], [Measures].[Store Sales] } ON COLUMNS,
{ [Time].[1997], [Time].[1998] } ON ROWS FROM Sales WHERE (
[Store].[USA].[CA] )
Mnh SELECT xc nh cc chiu ca tp kt qu ca truy vn MDX, trong
v d l 2 chiu COLUMNS v ROWS.

55

Mnh FROM xc nh ngun d liu a chiu (khi) no c s dng


trch lc d liu vo tp kt qu ca pht biu SELECT. Trong v d l t khi
d liu Sales
Mnh WHERE nu c, dng xc nh chiu ct ca khi d liu, nhm
gii hn tp kt qu theo cc chiu thnh vin. Trong v d, d liu c ct
theo thnh vin CA ca chiu Store.

4.4.3 Lu
Pht biu SELECT ca cu truy vn MDX cn h tr cc c php tu chn
khc, nh l t kha WITH v vic s dng cc hm MDX xy dng cc
thnh vin bng vic tnh ton thm vo 1 trc hoc 1 chiu ct.
C php ca cu truy vn MDX tng t nh c php SQL, tuy nhin, c 1 s
khc bit nh sau :
C php MDX phn bit cc tp hp bng vic dng du ngoc nhn { } bao
quanh cc b hay thnh vin.
Cu truy vn MDX c th cha ti 128 chiu, nhng ch c 5 chiu u tin
l c aliase (tn ph). Mt trc c th c tham chiu bi th t ca n
trong cu MDX hay bi tn ph ca n nu c. Cu truy vn MDX cn c
th c vit theo mu sau dng th t ca mi trc:
SELECT { [Measures].[Unit Sales], [Measures].[Store Sales] } ON AXIS(0),
{ [Time].[1997], [Time].[1998] } ON AXIS(1) FROM Sales WHERE (
[Store].[USA].[CA] )
Trong cu truy vn SQL, mnh FROM c th ch n nhiu bng d liu.
Tuy nhin, mnh FROM trong cu truy vn MDX b gii hn 1 khi
duy nht.

56

Mnh WHERE c dng m t chiu ct d liu. Nu 1 chiu khng


c cp trong mnh WHERE, SQL Analysis Services vn xem n l
1 chiu ct, nhng c lc theo s thnh vin mc nh ca n. Mnh
WHERE c th thay i tin trnh lc cho 1 chiu no , gip tinh chnh d
liu kt qu.

57

Chng 5 Xy dng cng c Web h tr phn tch


d liu cho cc ng dng OLTP
5.1. Phn tch, thit k
5.1.1 Phn tch
5.1.1.1 Quy trnh x l nghip v:

58

Hnh 25: M hnh x l nghip v qun l template


59

5.1.1.2 Yu cu ch
hc nn
ng:

Hnh
h 26: S Use-Case m t h th
hng chc nng ca Administrator

60
0

H
Hnh
27: S Use-Caase m t h thng ch
c nng c
a Designerr

Hnh
h 28: S User-Casee m t h thng
t
chcc nng ca Custom Usser

61
1

Hnh 29: S Use-Case m t chc nng qun l Template

Hnh 30: S Use-Case m t chc nng phn quyn Template

62

Hnh 311: S Use-Case m t chc nng qun l Cube

Hnh 32: S
S Use-C
Case m t
chc nngg phn quyyn Cube

63
3

Hnh 33: S Use-Case m t chc nng qun l User

64

Hnh 34: S Use-Case m t chc nng qun l Group

Hnh 35: S Use-Case m t chc nng qun l Profile

65

Hnh 36: S Use-Case m t chc nng cu hnh h thng

5.1.1.3 M hnh quan nim d liu:

66

Hnh 37: M hnh


h quan nim d
liu h thng OLAP
67

M t cc loi thc th:


Loi thc th tblChi_Tiet_Group:
Thuc tnh
Kiu
iStt_Chi_Tiet
int

P1 U
x x

M L
x x

Loi thc th tblChi_Tiet_Template:


Thuc tnh
Kiu
Kch thc
iStt_CTTemplate
int
4
iDefault
int
4

P
x

U
x

M L
x x
x

Loi thc th tblRole:


Thuc tnh
iMa_Role
vTen_Role

Kiu
int
varchar

Kch thc
4
20

P
x

U M L
x x x
x x x

Loi thc th tblGroup:


Thuc tnh
iMa_Group
vTen_Group
vMo_Ta

Kiu
int
varchar
varchar

Kch thc
4
20
100

P
x

U M L
x x x
x x

Loi thc th tblQuyen:


Thuc tnh
iMa_Quyen
vTen_Quyen
vMo_Ta

Kiu
int
varchar
varchar

Kch thc
4
50
100

P
x

U
x
x

M L
x x
x

Loi thc th tblTemplate:


Thuc tnh
iMa_Template
vTen_ Template
vLoai
tNoi_Dung
iParent
vStatus
vMo_Ta

Kiu
int
varchar
varchar
text
int
varchar
varchar

Kch thc
4
30
10

P
x

U
x
x

M L
x x
x
x
x

P : primary key (kha chnh)


U : unique key, candidate key (kha ch nh)
M : mandatory (not null)
L : locked (khng cho php sa gi tr )

68

Kch thc
4

4
20
100

Loi thc th tblUser:


Thuc tnh
iMa_User
vHo_Ten
vUser_name
vPassword
vMo_Ta
vDien_Thoai
vEmail
vChuc_Vu
vDia_Chi

Kiu
int
varchar
varchar
int
varchar
varchar
varchar
varchar
varchar

Kch thc
4
30
20
64
100
15
50
50
50

P
x

U M L
x x x
x
x x
x

Loi thc th tblCurrentConnect:


Thuc tnh
Kiu
vServer
varchar

Kch thc
20

P
x

U M L
x x x

Loi thc th tblAttribute:


Thuc tnh
Kiu
iMa_Att
int
vTen_Att
varchar

Kch thc
4
50

P
x

U M L
x x x
x

Loi thc th tblCube:


Thuc tnh
iMa_Cube
vTen_Cube
vMo_Ta
iActive

Kiu
int
varchar
varchar
int

Kch thc
4
50
100
4

P
x

U M L
x x x
x

Loi thc th tblDatabase:


Thuc tnh
Kiu
iMa_DB
int
vTen_DB
varchar

Kch thc
4
50

P
x

U
x

Loi thc th tblDimension:


Thuc tnh
Kiu
iMa_Dim
int
vTen_Dim
varchar

Kch thc
4
50

P
x

U M L
x x x
x

P
x

U
x

Loi thc th tblChi_Tiet_Role_Member:


Thuc tnh
Kiu
Kch thc
iStt_Chi_Tiet
int
4

69

x
M L
x x
x

M L
x x

Loi thc th tblMember:


Thuc tnh
Kiu
iMa_Member
int
vTen_Member
varchar

Kch thc
4
50

P
x

U
x

Loi thc th tblProfile:


Thuc tnh
iMa_Profile
vTen_Profile
vMo_Ta

Kch thc
4
20
100

P
x

U M L
x x x
x x

P
x

U
x

Kiu
int
varchar
varchar

Loi thc th tblChuc_Nang_Profile:


Thuc tnh
Kiu
Kch thc
iStt_Chuc_Nang
int
4

M t rng buc ton vn:


Kha ni:
(S) R1-01: id(tblChi_Tiet_Group) = iStt_Chi_Tiet
(S) R1-02: id(tblChi_Tiet_Template) = iStt_CTTemplate
(S) R1-03: id(tblRole) = iMa_Role
(S) R1-04: id(tblGroup) = iMa_Group
(S) R1-05: id(tblQuyen) = iMa_Quyen
(S) R1-06: id(tblTemplate) = iMa_Template
(S) R1-07: id(tblUser) = iMa_User
(S) R1-08: id(tblCurrentConnect) = vServer
(S) R1-09: id(tblAttribute) = iMa_Att
(S) R1-10: id(tblCube) = iMa_Cube
(S) R1-11: id(tblDatabase) = iMa_DB
(S) R1-12: id(tblDimension) = iMa_Dim
(S) R1-13: id(tblChi_Tiet_Role_Member) = iStt_Chi_Tiet
(S) R1-14: id(tblMember) = iMa_Member
(S) R1-15: id(tblProfile) = iMa_Profile
(S) R1-16: id(tblChuc_Nang_Profile) = iStt_Chuc_Nang
Rng buc v min gi tr:
(I) R2-01: tblTemplate_Detail.iDefault in (0,1).
(I) R2-02: tblTemplate.vLoai in (public, private).
(I) R2-03: tblTemplate.vStatus in (normal, restricted).
(I) R2-04: tblTemplate_Detail.iActive in (0,1).
- (S) : rng buc s c h qun tr c s d liu kim tra.
- (I) : rng buc s c kim tra mc giao din.
- (T) : rng buc s c thay th bng trigger.

70

M L
x x
x

M L
x x

Kha ngoi:
(S) R3-01: tblRole[vTen_Role] tblGroup[vTen_Group]
(S) R3-02: tblChi_Tiet_Group[iMa_User] tblUser[iMa_User]
(S) R3-03: tblChi_Tiet_Group[iMa_Group] tblGroup[iMa_ Group]
(S) R3-04: tblUser[iMa_Profile] tblProfile[iMa_ Profile]
(S) R3-05: tblMember[iMa_Att] tbl Attribute[iMa_ Att]
(S) R3-06: tblChi_Tiet_Role_Member[iMa_Member] tblMember
(S) [iMa_ Member]
(S) R3-07: tblChi_Tiet_Role_Member[iMa_Role] tblRole[iMa_
Role]
(S) R3-08: tblTemplate[iMa_Cube] tblCube[iMa_ Cube]
(S) R3-09: tblChi_Tiet_Template[iMa_User] tblUser[iMa_User]
(S) R3-10: tblChi_Tiet_Template[iMa_Template]
tblTemplate[iMa_Template]
(S) R3-11: tblChi_Tiet_Template[iMa_Quyen] tblQuyen [iMa_
Quyen]
(S) R3-12: tblChuc_Nang_Profile[iMa_ Profile] tblProfile [iMa_
Profile]
R3-13: tblChuc_Nang_Profile[iMa_ Quyen] tblQuyen [iMa_
Quyen]
(S) R3-14: tblAttribute[iMa_Dim] tblDimemsion[iMa_ Dim]
(S) R3-15: tblDimemsion[iMa_Cube] tblCube [iMa_Cube]
(S) R3-16: tblCube [iMa_DB] tblDatabase[iMa_DB]
(S) R3-17: tblCurrentConnect [iMa_DB] tblDatabase[iMa_DB]
(S) R3-18: tblQuyen[iParent] tblQuyen [iMa_Quyen]
Rng buc gia cc thuc tnh trong mt bng:
(T) R4-01: tblTemplate[iParent] tblTemplate[iMa_Template]
CREATE TRIGGER trg_Template_delete
ON tblTemplate
FOR DELETE
AS
DECLARE @iMa_Template INT
SELECT @iMa_Template = iMa_Template FROM deleted
DELETE FROM tblTemplate WHERE iParent = @iMa_Template
;

Rng buc gia cc thuc tnh, cc b ca nhiu bng:


(T) R5-01: tblTemplate[iOwner] tblUser[iMa_User]
CREATE TRIGGER trg_User_delete
ON tblUser
FOR DELETE
AS
DECLARE @iMa_User INT
SELECT @iMa_User = iMa_User FROM deleted
DELETE FROM tblTemplate WHERE iMa_Template in (

71

SELECT DISTINCT tblTemplate.iMa_Template


FROM tblTemplate
WHERE (tblTemplate.iOwner = @iMa_User))
;

5.1.2 Thit k
5.1.2.1 D liu:
M hnh vt l:

72

Hnh 38: M hnh vt l


73

M t cc bng:
Bng tblChi_Tiet_Group:
Thuc tnh
iStt_Chi_Tiet
iMa_User
iMa_Group

Kiu
int
int
int

Kch thc
4
4
4

P2 U
x x

M
x
x
x

L
x
x
x

F
x
x

Kha ngoi:

Kha ngoi
iMa_User
iMa_Group

Bng tham chiu


tblUser
tblGroup

Bng tblChi_Tiet_Template:
Thuc tnh
Kiu
iStt_CTTemplate
int
iMa_User
int
iMa_Template
int
iMa_Quyen
int
iDefault
int

Kch thc
4
4
4
4
4

Kha ni
iMa_User
iMa_Group
P
x

U
x

M
x
x
x
x
x

L
x
x
x
x

F
x
x
x

Kha ngoi:

Kha ngoi
iMa_User
iMa_ Template
iMa_Quyen

Bng tblRole:
Thuc tnh
iMa_Role
vTen_Role

Bng tham chiu


tblUser
tblTemplate
tblQuyen
Kiu
int
varchar

Kch thc
4
20

Kha ni
iMa_User
iMa_ Template
iMa_Quyen
P
x

U M L
x x x
x x x

F
x

Kha ngoi:

Kha ngoi
vTen_Role

Bng tblGroup:
Thuc tnh
iMa_Group
vTen_Group
vMo_Ta

Bng tham chiu


tblGroup
Kiu
int
varchar
varchar

P : primary key (kha chnh)


U : unique key, candidate key (kha ch nh)
M : mandatory (not null)
L : locked (khng cho php sa gi tr )
F : foreign key (kha ngoi).

74

Kch thc
4
20
100

Kha ni
vTen_Group
P
x

U M L
x x x
x x

Bng tblQuyen:
Thuc tnh
iMa_Quyen
vTen_Quyen
vMo_Ta
iParent

Kiu
int
varchar
varchar
int

Kch thc
4
50
100
4

P
x

U
x
x

M L
x x
x

M L
x x
x
x
x

Kha ngoi:

Kha ngoi
iParent

Bng tblTemplate:
Thuc tnh
iMa_Template
vTen_ Template
vLoai
tNoi_Dung
iOwner
iMa_Cube
iParent
vStatus
vMo_Ta

Bng tham chiu


tblQuyen
Kiu
int
varchar
varchar
text
int
int
int
varchar
varchar

Kch thc
4
30
10

Kha ni
iMa_Quyen
P
x

U
x
x

4
4
4
20
100

x
x

Kha ngoi:

Kha ngoi
iOwner
iMa_Cube

Bng tblUser:
Thuc tnh
iMa_User
vHo_Ten
vUser_name
vPassword
iMa_Profile
vMo_Ta
vDien_Thoai
vEmail
vChuc_Vu
vDia_Chi

Bng tham chiu


tblUser
tblCube
Kiu
int
varchar
varchar
int
int
varchar
varchar
varchar
varchar
varchar

Kch thc
4
30
20
64
4
100
15
50
50
50

Kha ni
iMa_User
iMa_Cube
P
x

U M L
x x x
x
x x
x
x x

Kha ngoi:

Kha ngoi
iMa_Profile

Bng tham chiu


tblProfile

75

Kha ni
iMa_Profile

Bng tblCurrentConnect:
Thuc tnh
vServer
iMa_DB

Kiu
varchar
int

Kch thc
20
4

P
x

U M L
x x x
x x

F
x

Kha ngoi:

Kha ngoi
iMa_DB

Bng tblAttribute:
Thuc tnh
iMa_Att
vTen_Att
iMa_Dim

Bng tham chiu


tblDatabase
Kiu
int
varchar
int

Kch thc
4
50

Kha ni
iMa_DB
P
x

U M L
x x x
x
x x

F
x

Kha ngoi:

Kha ngoi
iMa_Dim

Bng tblCube:
Thuc tnh
iMa_Cube
vTen_Cube
iMa_DB
vMo_Ta
iActive

Bng tham chiu


tblDimension
Kiu
int
varchar
int
varchar
int

Kch thc
4
50
4
100
4

Kha ni
iMa_Dim
P
x

U M L
x x x
x
x x

F
x

Kha ngoi:

Kha ngoi
iMa_DB

Bng tham chiu


tblDatabase

Kha ni
iMa_DB

Bng tblDatabase:
Thuc tnh
iMa_DB
vTen_DB

Kiu
int
varchar

Kch thc
4
50

P
x

U
x

M L
x x
x

Bng tblDimension:
Thuc tnh
iMa_Dim
vTen_Dim
iMa_Cube

Kiu
int
varchar
int

Kch thc
4
50
4

P
x

U M L
x x x
x
x x

Kha ngoi:

Kha ngoi
iMa_Cube

Bng tham chiu


tbl Cube

76

Kha ni
iMa_Cube

Bng tblChi_Tiet_Role_Member:
Thuc tnh
Kiu
iStt_Chi_Tiet
int
iMa_Member
int
iMa_Role
int

Kch thc
4
4
4

P
x

U
x

M
x
x
x

L
x
x
x

F
x
x

Kha ngoi:

Kha ngoi
iMa_Member
iMa_Role

Bng tblMember:
Thuc tnh
iMa_Member
vTen_Member
iMa_Att

Bng tham chiu


tblMember
tblRole
Kiu
int
varchar
int

Kch thc
4
50
4

Kha ni
iMa_Member
iMa_Role
P
x

U
x

M L
x x
x
x x

F
x

Kha ngoi:

Kha ngoi
iMa_Att

Bng tblProfile:
Thuc tnh
iMa_Profile
vTen_Profile
vMo_Ta

Bng tham chiu


tblAttribute
Kiu
int
varchar
varchar

Bng tblChuc_Nang_Profile:
Thuc tnh
Kiu
iStt_Chuc_Nang
int
iMa_Profile
int
iMa_Quyen
int

Kha ni
iMa_ Att

Kch thc
4
20
100

P
x

U M L
x x x
x x

Kch thc
4
4
4

P
x

U
x

M
x
x
x

Kha ngoi:

Kha ngoi
iMa_ Profile
iMa_Quyen

Bng tham chiu


tblProfile
tblQuyen

Kha ni
iMa_ Profile
iMa_Quyen

M t rng buc ton vn3:


Kha ni:
(S) R1-01: id(tblChi_Tiet_Group) = iStt_Chi_Tiet
(S) R1-02: id(tblChi_Tiet_Template) = iStt_CTTemplate
(S) R1-03: id(tblRole) = iMa_Role
3

- (S) : rng buc s c h qun tr c s d liu kim tra.


- (I) : rng buc s c kim tra mc giao din.
- (T) : rng buc s c thay th bng trigger.

77

L
x
x
x

x
x

(S) R1-04: id(tblGroup) = iMa_Group


(S) R1-05: id(tblQuyen) = iMa_Quyen
(S) R1-06: id(tblTemplate) = iMa_Template
(S) R1-07: id(tblUser) = iMa_User
(S) R1-08: id(tblCurrentConnect) = vServer
(S) R1-09: id(tblAttribute) = iMa_Att
(S) R1-10: id(tblCube) = iMa_Cube
(S) R1-11: id(tblDatabase) = iMa_DB
(S) R1-12: id(tblDimension) = iMa_Dim
(S) R1-13: id(tblChi_Tiet_Role_Member) = iStt_Chi_Tiet
(S) R1-14: id(tblMember) = iMa_Member
(S) R1-15: id(tblProfile) = iMa_Profile
(S) R1-16: id(tblChuc_Nang_Profile) = iStt_Chuc_Nang
Rng buc v min gi tr:
(I) R2-01: tblTemplate_Detail.iDefault in (0,1).
(I) R2-02: tblTemplate.vLoai in (public, private).
(I) R2-03: tblTemplate.vStatus in (normal, restricted).
(I) R2-04: tblTemplate_Detail.iActive in (0,1).
Kha ngoi:
(S) R3-01: tblRole[vTen_Role] tblGroup[vTen_Group]
(S) R3-02: tblChi_Tiet_Group[iMa_User] tblUser[iMa_User]
(S) R3-03: tblChi_Tiet_Group[iMa_Group] tblGroup[iMa_ Group]
(S) R3-04: tblUser[iMa_Profile] tblProfile[iMa_ Profile]
(S) R3-05: tblMember[iMa_Att] tbl Attribute[iMa_ Att]
(S) R3-06: tblChi_Tiet_Role_Member[iMa_Member] tblMember
(S) [iMa_ Member]
(S) R3-07: tblChi_Tiet_Role_Member[iMa_Role] tblRole[iMa_
Role]
(S) R3-08: tblTemplate[iMa_Cube] tblCube[iMa_ Cube]
(S) R3-09: tblChi_Tiet_Template[iMa_User] tblUser[iMa_User]
(S) R3-10: tblChi_Tiet_Template[iMa_Template]
tblTemplate[iMa_Template]
(S) R3-11: tblChi_Tiet_Template[iMa_Quyen] tblQuyen [iMa_
Quyen]
(S) R3-12: tblChuc_Nang_Profile[iMa_ Profile] tblProfile [iMa_
Profile]
R3-13: tblChuc_Nang_Profile[iMa_ Quyen] tblQuyen [iMa_
Quyen]
(S) R3-14: tblAttribute[iMa_Dim] tblDimemsion[iMa_ Dim]
(S) R3-15: tblDimemsion[iMa_Cube] tblCube [iMa_Cube]

78

(S) R3-16: tblCube [iMa_DB] tblDatabase[iMa_DB]


(S) R3-17: tblCurrentConnect [iMa_DB] tblDatabase[iMa_DB]
(S) R3-18: tblQuyen[iParent] tblQuyen [iMa_Quyen]
Rng buc gia cc thuc tnh trong mt bng:
(T) R4-01: tblTemplate[iParent] tblTemplate[iMa_Template]
CREATE TRIGGER trg_Template_delete
ON tblTemplate
FOR DELETE
AS
DECLARE @iMa_Template INT
SELECT @iMa_Template = iMa_Template FROM deleted
DELETE FROM tblTemplate WHERE iParent = @iMa_Template
;

Rng buc gia cc thuc tnh, cc b ca nhiu bng:


(T) R5-01: tblTemplate[iOwner] tblUser[iMa_User]
CREATE TRIGGER trg_User_delete
ON tblUser
FOR DELETE
AS
DECLARE @iMa_User INT
SELECT @iMa_User = iMa_User FROM deleted
DELETE FROM tblTemplate WHERE iMa_Template in (
SELECT DISTINCT tblTemplate.iMa_Template
FROM tblTemplate
WHERE (tblTemplate.iOwner = @iMa_User))
;

5.1.2.2 Kin trc module:

79

H thng OLAP

Phn h
Administrator

Phn h Designer

Phn h Custom
User

5.1.2.3 H thng giao din:


H thng giao din phn h Administrator:

Hnh 39: Mn hnh chnh phn h administrator

80

Hnh 40: Mn hnh chc nng Copy Rights

Hnh 41: Mn hnh chc nng Active cube

Hnh 42: Mn hnh chc nng Assign cube to group

81

Hnh 43: Mn hnh chc nng Assign user to cube

Hnh 44: Mn hnh chc nng List user

82

Hnh 45: Mn hnh chc nng Assign Groups

Hnh 46: Mn hnh chc nng Assign Users

Hnh 47: Mn hnh chc nng Import cube

83

Hnh 48: Mn hnh chc nng Assign rights to profile

Hnh 49: Mn hnh chc nng Schedule

84

Hnh 50: Mn hnh chc nng Setting Connection

H thng giao din phn h Designer:

Hnh 51: Mn hnh chnh phn h designer

85

Hnh 52: Mn hnh chc nng Design template

Hnh 53: Mn hnh chc nng Export template

86

Hnh 54: Mn hnh chc nng Assign template to user

H thng giao din phn h Custom User:

Hnh 55: Mn hnh chnh phn h custom user

87

5.2. Ci t, lp trnh
Kin trc h thng
MS SQL Server 2005 Analysis Service
Windows Server 2003
Web server IIS

Ngn ng lp trnh
ASP.NET C#

C s d liu:
MS SQL Server 2005

88

nh gi, bn lun v kt qu
Chi tit cc cng vic tin hnh
Tm hiu cc ti liu v cng ngh OLAP, Data Warehouse
Kin trc cc thnh phn OLAP v cch xy dng chng trong MS SQL
Server Analysis Service (SSAS)
Tm hiu v s dng component Pivot Table, PivotChart trong Excel
Tm hiu v s dng cc th vin lp trnh lin quan n SSAS: MDX,
AMO, SMO, ADOMD.NET, ...
Tm hiu ngn ng ASP.NET v cc th vin lin quan phc v cho vic
lp trnh
Xy dng cng c h tr phn tch d liu

Lm c
Nm c nn tng l thuyt v OLAP, Data Warehouse, SSAS, ...
Vit ng dng hon thin hu ht cc chc nng ra ban u
Giao din thn thin vi ngi dng
C nghin cu tm hiu, b sung thm cc tnh nng mi vo chng
trnh sao cho ph hp vi nhu cu thc t v thun tin hn cho ngi s
dng.

Cha lm c
Chc nng cho ngi dng save li Local Cube nh trong Pivot Table.

89

Hng gii quyt


Nhng iu hc c t ti
Kin trc nn tng ca cng ngh OLAP v Data Warehouse
S dng thnh tho hn ngn ng lp trnh ASP.NET v cc cng c ca
MS SQL Server 2005
Kh nng c hiu ti liu ting Anh

K nng lm vic nhm :

Phn chia cng vic mt cch c th, r rng

Tun th cc nguyn tc, cc chun ra

c tnh cn c, t m trong qu trnh kim th, pht hin v sa li ca


chng trnh.

90

Kt lun - Hng pht trin


Cc kt qu t c
1. V l thuyt
Nm c nhng kin thc nn tng v DataWarehouse v cng ngh OLAP
Hiu v kin trc cc thnh phn trong MS SQL Server Analysis Service
(SSAS) v quy trnh thit k cc thnh phn ny
Hiu v component Pivot Table trong Excel v cch s dng
C kin thc v cc th vin lp trnh lin quan n SSAS: DSO, MDX,
AMO, ADOMD.NET, ...

2. V thc nghim
Ci t
Xy dng 1 cng c tng i hon chnh trn nn Web h tr phn tch
d liu cho cc ng dng OLTP. Cng c ny hon ton c lp vi d
liu ca ngi dng.

Nhng ng gp mi
C h thng template gip ngi dng d dng hn trong qu trnh xem
v phn tch d liu
C chc nng Import, Export template, d liu,... phc v cho nhu cu
chuyn i gia cc h thng khc nhau
Tm hiu, b sung thm cc tnh nng mi vo chng trnh sao cho ph
hp vi nhu cu thc t v thun tin hn cho ngi s dng.

91

Hng pht trin


Data Mining

92

Danh mc ti liu tham kho


Ting Anh:
[1] Reed Jacobson (2006), Microsoft SQL Server 2005 Analysis Services
Step.By.Step, MS.Press.
[2] Robert Vieira (2007), Professional SQL Server 2005 Programming, Wiley
Publishing.
[3]
Edward Whalen (2007), Microsoft SQLServer2005 Administrators
Companion, MS.Press.
Ting Vit:
[4] Nguyn Thanh Bnh (2002), Kho d liu v h h tr quyt nh, i hc Hu

93

You might also like