You are on page 1of 23

TP ON VIN THNG QUN I

H THNG BO CO S LIU GIAO BAN TP ON

TI LIU M T YU CU
THAY I NNG CP

M hiu d n: QT01_14125_SLGBTD
M hiu ti liu: MTYCTD_ QT01_14125_SLGBTD

H Ni, 06/2015

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

BNG GHI NHN THAY I

*A To mi, M Sa i, D Xa b
Ngy
thay i

V tr

A*

thay i M, D

Ngun gc

M t thay i

Ghi ch

mi
KH

09/07/20
15

BM_QT05_MTYCTD

Biu

phng

kinh

doanh

2/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

MC LC

1.1

Ngun gc thay i............................................................................................................5

1.2

nh gi tnh cn thit v gi tr mang li..........................................................................5

1.2.1

Tnh cn thit...............................................................................................................5

1.2.2

Gi tr mang li...........................................................................................................5

1.3

Ni dung thay i...............................................................................................................5

1.3.1

M t chung yu cu thay i......................................................................................5

1.3.2

M t thay i v lung nghip v..............................................................................6

1.3.3

M t thay i v CSDL..............................................................................................8

BM_QT05_MTYCTD

3/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

TRANG K

Ngi lp:

Nguyn B Xun

09/07/2015

Nhn vin pht trin

Ngi xem xt:

<Ngy>

Ngi xem xt:

<Ngy>

Ngi ph duyt:

Bi Trng Vinh

09/06/2015

QTDA

BM_QT05_MTYCTD

4/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

1.1

Ngun gc thay i
Chuyn i biu t FW 1.0 sang FW 2.0.

1.2

nh gi tnh cn thit v gi tr mang li

1.2.1

Tnh cn thit

1.2.2

Gi tr mang li

1.3

Ni dung thay i

1.3.1

M t chung yu cu thay i
-

Cc chc nng thm mi:

1. Biu d liu tng thng


-

Biu mu:

2. Biu delta tng thng


-

Biu mu:

BM_QT05_MTYCTD

5/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

3. Biu % TT tng thng


-

Biu mu:

4. Biu Delta tch ly cc thng


-

Biu mu:

BM_QT05_MTYCTD

6/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

5. Biu % TT tch ly
-

1.3.2

Biu mu:

M t thay i v lung nghip v


1.3.2.1 Lung nghip v

1. Biu d liu tng thng


Biu th hin s liu kinh doanh tng thng. Vi d liu u vo l ngy tng hp d
liu v n v mun xem d liu.
-

Nghip v v biu :
o D liu s c lm trn 2 ch s. D liu % lm trn 1 ch s. D liu nul v
0 th khng v.
o KH 2015: D liu c chia lm 2 khong ly d liu nh sau:

D liu n thng c chn: Ly d liu f_schedule_n

D liu t thng chn n thng 12 l d liu k hoch fix: f_schedule_fix

D liu c ly theo trng KHDV_N v TT_KHDV

o TH 2015: D liu v n thng m(thng chn d liu). Trong thng m c


v vo ngy chn d liu l ngy cui cng ca thng

D liu c ly theo trng TH_N v TT_THN

o TH 2014: D liu c ly theo trng TH_N_1 v TT_THN1

BM_QT05_MTYCTD

7/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

o TH 2013: D liu c ly theo trng TH_N_2 v TT_THN2

2. Biu delta tng thng


Biu th hin s liu kinh doanh delta thng so vi nm cng k v th hin c
delta thng hin ti so vi k hoch ra. Vi d liu u vo l ngy tng hp d liu
v n v mun xem d liu.
-Nghip v v biu :
o D liu i vi VTG v th trng nc ngoi lm trn 1 ch s cn cc on v
khc lm trn thnh s nguyn. D liu nul v 0 th khng v.
o Delta 2015: D liu c v n thng hin ti trong ct d liu thng hin
ti c th hin nh sau:

Ct mu l hin th delta thc hin thng . Trng d liu:


TH_N

Ct mu xanh nht l d liu delta k hoch delta thc hin.vi cc


tnh ly d liu nh sau:
if(deltaTH>=0&& deltaKH>=0 && deltaKH-deltaTH>0)
deltaKH-deltaTH;
else{
if(deltaTH<0&& deltaKH>0)
deltaKH;
else

{if(deltaTH<0&& deltaKH<0 && deltaKH-deltaTH<0)


deltaKH-deltaTH;
else
null
}

Trng ly d liu: DELTA_KHN

Dng d liu hin th trn ct l d liu delta k hoch: Trng d


liu: KH_N

Delta 2014: D liu thc hin 2014 2013: Trng ly d liu: TH_N_1

BM_QT05_MTYCTD

8/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

o Delta 2013: D liu thc hin 2013 2012: Trng ly d liu: TH_N_2

3. Biu % TT tng thng


Biu th hin % tng trng tng thng . Vi d liu u vo l ngy tng hp d
liu v n v mun xem d liu.
-

Nghip v v biu :
o D liu % lm trn 1 ch s. D liu nul v 0 th khng v.
o KH 2015: D liu c chia lm 2 khong ly d liu nh sau:

D liu n thng c chn: Ly d liu f_schedule_n vi th_n_1

D liu t thng chn n thng 12 l d liu k hoch fix: f_schedule_fix vi


th_n_1

D liu c ly theo trng TT_KHDV

o TH 2015: D liu v n thng m(thng chn d liu). Trong thng m c


v vo ngy chn d liu l ngy cui cng ca thng

D liu c ly theo trng TT_THN

o TH 2014: D liu c ly theo trng TT_THN1


o TH 2013: D liu c ly theo trng TT_THN2

4. Biu Delta tch ly cc thng


Biu th hin s liu kinh doanh delta tch ly thng so vi nm cng. Vi d liu u
vo l ngy tng hp d liu v n v mun xem d liu.
-

Nghip v v biu :
o D liu s c lm trn 2 ch s. D liu % lm trn 1 ch s. D liu nul v
0 th khng v.
o KH 2015: D liu c chia lm 2 khong ly d liu nh sau:

D liu n thng c chn: Ly d liu f_schedule_n - th_n_1

D liu t thng chn n thng 12 l d liu k hoch fix: f_schedule_fix -

BM_QT05_MTYCTD

9/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

th_n_1

D liu c ly theo trng KHDV_N v TT_KHDV

o TH 2015: D liu delta v n thng m(thng chn d liu). Trong thng m


c v vo ngy chn d liu l ngy cui cng ca thng

D liu c ly theo trng TH_N v TT_THN

o TH 2014: D liu c ly theo trng TH_N_1 v TT_THN1


o TH 2013: D liu c ly theo trng TH_N_2 v TT_THN2

5. Biu % TT tch ly
Biu th hin % tng trng tch ly thng . Vi d liu u vo l ngy tng hp d
liu v n v mun xem d liu.
-

Nghip v v biu :
o D liu % lm trn 1 ch s. D liu nul v 0 th khng v.
o KH 2015: D liu c chia lm 2 khong ly d liu nh sau:

D liu n thng c chn: Ly d liu f_schedule_n vi th_n_1

D liu t thng chn n thng 12 l d liu k hoch fix: f_schedule_fix vi


th_n_1

D liu c ly theo trng TT_KHDV

o TH 2015: D liu v n thng m(thng chn d liu). Trong thng m c


v vo ngy chn d liu l ngy cui cng ca thng

D liu c ly theo trng TT_THN

o TH 2014: D liu c ly theo trng TT_THN1


o TH 2013: D liu c ly theo trng TT_THN2

1.3.2.2 Protype
1.

Biu d liu tng thng

Cu lnh ly d liu:

BM_QT05_MTYCTD

10/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

SELECT
prd_id,
month || '/' || year month,
month thang,
year,
dep_pk,
CASE
WHEN th_thang_trong_nam != 0 AND th_thang_trong_nam IS NOT NULL
THEN
th_thang_trong_nam / rate_unit_week
ELSE
NULL
END
th_n,
CASE
WHEN th_n_1 != 0 AND th_n_1 IS NOT NULL
THEN
th_n_1 / rate_unit_week
ELSE
NULL
END
th_n_1,
CASE
WHEN th_n_1_ck != 0 AND th_n_1_ck IS NOT NULL
THEN
th_n_1_ck / rate_unit_week
ELSE
NULL
END
th_n_1_ck,
CASE
WHEN th_n_1_ck_chot != 0 AND th_n_1_ck_chot IS NOT NULL
THEN
th_n_1_ck_chot / rate_unit_week
ELSE
NULL
END
th_n_1_ck_chot,
CASE
WHEN month <= TO_CHAR (TO_DATE ('20150708', 'yyyyMMdd'), 'MM')
THEN
CASE
WHEN f_schedule_n != 0 AND f_schedule_n IS NOT NULL
THEN
f_schedule_n / rate_unit_week
ELSE
NULL
END
ELSE
CASE
WHEN f_schedule_n_fix != 0
AND f_schedule_n_fix IS NOT NULL
THEN
f_schedule_n_fix / rate_unit_week
ELSE
NULL
END
END
khdv_n,
CASE
WHEN f_schedule_n_fix != 0 AND f_schedule_n_fix IS NOT NULL
THEN
f_schedule_n_fix / rate_unit_week
ELSE
NULL
END
khpb_n,
CASE
WHEN f_schedule_n_1 != 0 AND f_schedule_n_1 IS NOT NULL
THEN
f_schedule_n_1 / rate_unit_week
ELSE
NULL
END
khdv_n_1,
CASE
WHEN f_value_n_2 != 0 AND f_value_n_2 IS NOT NULL
THEN

BM_QT05_MTYCTD

11/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

f_value_n_2 / rate_unit_week
ELSE
NULL
END
th_n_2,
CASE
WHEN f_value_n_3 != 0 AND f_value_n_3 IS NOT NULL
THEN
f_value_n_3 / rate_unit_week
ELSE
NULL
END
th_n_3,
CASE
WHEN
f_schedule_n_fix != 0
AND f_schedule_n_fix IS NOT NULL
AND th_n_1 != 0
AND th_n_1 IS NOT NULL
THEN
CASE
WHEN th_n_1 < 0
THEN
100 * (f_schedule_n_fix - th_n_1) / ABS (th_n_1)
ELSE
100 * ( (f_schedule_n_fix / th_n_1) - 1)
END
ELSE
NULL
END
tt_khpb,
CASE
WHEN month <= TO_CHAR (TO_DATE ('20150708', 'yyyyMMdd'), 'MM')
THEN
CASE
WHEN
f_schedule_n != 0
AND f_schedule_n IS NOT NULL
AND th_n_1 != 0
AND th_n_1 IS NOT NULL
THEN
CASE
WHEN th_n_1 < 0
THEN
100
* (f_schedule_n - th_n_1)
/ ABS (th_n_1)
ELSE
100 * ( (f_schedule_n / th_n_1) - 1)
END
ELSE
NULL
END
else
CASE
WHEN
f_schedule_n_fix != 0
AND f_schedule_n_fix IS NOT NULL
AND th_n_1 != 0
AND th_n_1 IS NOT NULL
THEN
CASE
WHEN th_n_1 < 0
THEN
100 * (f_schedule_n_fix - th_n_1) / ABS (th_n_1)
ELSE
100 * ( (f_schedule_n_fix / th_n_1) - 1)
END
ELSE
NULL
END
end
tt_khdv,
CASE
WHEN
th_thang_trong_nam != 0
AND th_thang_trong_nam IS NOT NULL
AND th_n_1_ck != 0
AND th_n_1_ck IS NOT NULL
THEN
CASE

BM_QT05_MTYCTD

12/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

WHEN th_n_1_ck < 0


THEN
100
* (th_thang_trong_nam - th_n_1_ck)
/ ABS (th_n_1_ck)
ELSE
100 * ( (th_thang_trong_nam / th_n_1_ck) - 1)
END
ELSE
NULL
END
tt_thn,
CASE
WHEN
th_n_1 != 0
AND th_n_1 IS NOT NULL
AND f_value_n_2 != 0
AND f_value_n_2 IS NOT NULL
THEN
CASE
WHEN f_value_n_2 < 0
THEN
100 * (th_n_1 - f_value_n_2) / ABS (f_value_n_2)
ELSE
100 * ( (th_n_1 / f_value_n_2) - 1)
END
ELSE
NULL
END
tt_thn1,
CASE
WHEN
f_value_n_2 != 0
AND f_value_n_2 IS NOT NULL
AND f_value_n_3 != 0
AND f_value_n_3 IS NOT NULL
THEN
CASE
WHEN f_value_n_3 < 0
THEN
100
* (f_value_n_2 - f_value_n_3)
/ ABS (f_value_n_3)
ELSE
100 * ( (f_value_n_2 / f_value_n_3) - 1)
END
ELSE
NULL
END
tt_thn2,
unit_week unit
FROM
(SELECT
rep.prd_id,
rep.thang month,
rep.nam year,
rep.dep_code_pk dep_pk,
CASE
WHEN rep.thang <TO_CHAR (TO_DATE (:PRD_ID, 'yyyyMMdd'), 'MM') or (rep.thang
=TO_CHAR (TO_DATE (:PRD_ID, 'yyyyMMdd'), 'MM') and TO_CHAR (TO_DATE (:PRD_ID, 'yyyyMMdd'),
'dd')>=15 )
THEN
CASE
WHEN cs_n.is_view = 1 AND cs_n.f_value != 0
THEN
1000 * cs_n.f_value
ELSE
1000 * rep.f_value_n
END
ELSE
NULL
END
th_thang_trong_nam,
CASE
WHEN cs_n_1.is_view = 1 AND cs_n_1.f_value != 0
THEN
1000 * cs_n_1.f_value
ELSE
1000 * rep.f_value_n_1
END
th_n_1,
CASE

BM_QT05_MTYCTD

13/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

WHEN rep.thang <=


TO_CHAR (
ADD_MONTHS (
TRUNC (
TO_DATE ('20150708', 'yyyyMMdd'),
'Q'),
2),
'MM')
THEN
CASE
WHEN cs_n_1.is_view = 1
AND cs_n_1.f_value != 0
THEN
1000 * cs_n_1.f_value
ELSE
1000 * rep.f_value_n_1
END
ELSE
NULL
END

FROM

BM_QT05_MTYCTD

th_n_1_ck_chot,
1000 * rep.f_value_ck th_n_1_ck,
CASE
WHEN rep.thang <=
TO_CHAR (
ADD_MONTHS (
TRUNC (
TO_DATE ('20150708', 'yyyyMMdd'),
'Q'),
2),
'MM')
THEN
CASE
WHEN cs_n.is_view = 1 AND cs_n.f_schedule != 0
THEN
1000 * cs_n.f_schedule
ELSE
1000 * rep.f_schedule_n_month
END
ELSE
NULL
END
f_schedule_n,
CASE
WHEN cs_n_1.is_view = 1 AND cs_n_1.f_schedule != 0
THEN
1000 * cs_n_1.f_schedule
ELSE
1000 * rep.f_schedule_n_1_month
END
f_schedule_n_1,
CASE
WHEN cs_n_2.is_view = 1 AND cs_n_2.f_value != 0
THEN
1000 * cs_n_2.f_value
ELSE
1000 * rep.f_value_n_2
END
f_value_n_2,
rep.rate_unit rate_unit_week,
rep.unit unit_week,
1000 * rep.f_value_n_3 f_value_n_3,
1000 * rep.f_schedule_n_fix f_schedule_n_fix
htd_chart_thang_nam rep
LEFT JOIN
htd_chart_thang_nam_agg cs_n
ON
cs_n.prd_id = rep.nam || rep.thang || '01'
AND cs_n.dep_code = rep.dep_code_pk
AND DECODE (cs_n.service_pk,
'19', 'DTTD',
'143', 'DTDV',
'2000', 'LNTT',
'2001', 'LNST',
'DTTD') = rep.level1
LEFT JOIN
htd_chart_thang_nam_agg cs_n_1
ON cs_n_1.prd_id = (rep.nam - 1) || rep.thang || '01'

14/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

WHERE

ORDER BY

AND cs_n_1.dep_code = rep.dep_code_pk


AND DECODE (cs_n_1.service_pk,
'19', 'DTTD',
'143', 'DTDV',
'2000', 'LNTT',
'2001', 'LNST',
'DTTD') = rep.level1
LEFT JOIN
htd_chart_thang_nam_agg cs_n_2
ON
cs_n_2.prd_id = (rep.nam - 2) || rep.thang || '01'
AND cs_n_2.dep_code = rep.dep_code_pk
AND DECODE (cs_n_2.service_pk,
'19', 'DTTD',
'143', 'DTDV',
'2000', 'LNTT',
'2001', 'LNST',
'DTTD') = rep.level1
rep.level1 = 'DTTD' AND rep.dep_code_pk = 'TD'
AND rep.prd_id =
TO_CHAR (TO_DATE ('20150708', 'yyyyMMdd'),
'YYYYMMDD'))

thang

2. Biu delta tng thng


-

Cu lnh ly d liu:

SELECT

prd_id, month month,


month thang,
year,
dep_pk,
CASE
WHEN month <= TO_CHAR (TO_DATE ('20150630', 'yyyyMMdd'),'MM')
THEN
CASE
WHEN
th_n != 0
AND th_n IS NOT NULL
AND th_n_1_ck != 0
AND th_n_1_ck IS NOT NULL
THEN
(th_n - th_n_1_ck) / rate_unit_week
ELSE
NULL
END
ELSE
NULL
END
th_n,
CASE
WHEN month = TO_CHAR (TO_DATE ('20150630', 'yyyyMMdd'),'MM')
THEN
CASE
WHEN
f_schedule_n != 0
AND f_schedule_n IS NOT NULL
AND th_n_1 != 0
AND th_n_1 IS NOT NULL
THEN
(f_schedule_n - th_n_1) / rate_unit_week
ELSE
NULL
END
ELSE
NULL
END
kh_n,
CASE
WHEN month = TO_CHAR (TO_DATE ('20150630', 'yyyyMMdd'),'MM')
THEN
CASE
WHEN
th_n != 0
AND th_n IS NOT NULL
AND th_n_1_ck != 0
AND th_n_1_ck IS NOT NULL
AND f_schedule_n != 0
AND f_schedule_n IS NOT NULL

BM_QT05_MTYCTD

15/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

AND th_n_1 != 0
AND th_n_1 IS NOT NULL
THEN
CASE
WHEN (th_n - th_n_1_ck)>=0 and (f_schedule_n - th_n_1)>=0
and ((f_schedule_n - th_n_1)-(th_n - th_n_1_ck))>0
then
((f_schedule_n - th_n_1)-(th_n - th_n_1_ck)) /
rate_unit_week
else
CASE
WHEN (th_n - th_n_1_ck)<0 and (f_schedule_n th_n_1)>0
then
(f_schedule_n - th_n_1) / rate_unit_week
else
CASE
WHEN (th_n - th_n_1_ck)<0 and
(f_schedule_n - th_n_1) <0 and ((f_schedule_n - th_n_1)-(th_n - th_n_1_ck)) <0
then
((f_schedule_n - th_n_1)-(th_n th_n_1_ck))/ rate_unit_week
else
null
end
end
end
ELSE
NULL
END
ELSE
NULL
END
delta_khn,
CASE
WHEN
th_n_1 != 0
AND th_n_1 IS NOT NULL
AND th_n_2 != 0
AND th_n_2 IS NOT NULL
THEN
(th_n_1 - th_n_2) / rate_unit_week
ELSE
NULL
END
th_n_1,
CASE
WHEN
th_n_3 != 0
AND th_n_3 IS NOT NULL
AND th_n_2 != 0
AND th_n_2 IS NOT NULL
THEN
(th_n_2 - th_n_3) / rate_unit_week
ELSE
NULL
END
th_n_2,
unit_week unit
FROM
(SELECT
rep.prd_id,
rep.thang month,
rep.nam year,
rep.dep_code_pk dep_pk,
CASE
WHEN rep.thang <= TO_CHAR (TO_DATE ('20150630', 'yyyyMMdd'),'MM')
THEN
CASE
WHEN cs_n.is_view = 1 AND cs_n.f_value != 0
THEN
1000 * cs_n.f_value
ELSE
1000 * rep.f_value_n
END
ELSE
NULL
END
th_n,
CASE
WHEN cs_n_1.is_view = 1 AND cs_n_1.f_value != 0

BM_QT05_MTYCTD

16/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

THEN
1000 * cs_n_1.f_value
ELSE
1000 * rep.f_value_n_1
END

FROM

WHERE

th_n_1,
1000 * rep.f_value_ck th_n_1_ck,
CASE
WHEN cs_n.is_view = 1 AND cs_n.f_schedule != 0
THEN
1000 * cs_n.f_schedule
ELSE
1000 * rep.f_schedule_n_month
END
f_schedule_n,
CASE
WHEN cs_n_1.is_view = 1 AND cs_n_1.f_schedule != 0
THEN
1000 * cs_n_1.f_schedule
ELSE
1000 * rep.f_schedule_n_1_month
END
f_schedule_n_1,
CASE
WHEN cs_n_2.is_view = 1 AND cs_n_2.f_value != 0
THEN
1000 * cs_n_2.f_value
ELSE
1000 * rep.f_value_n_2
END
th_n_2,
CASE
WHEN rep.unit = 'nghin_ty' THEN 1000
ELSE rep.rate_unit
END
rate_unit_week,
1000 * rep.f_value_n_3 th_n_3,
DECODE (rep.unit, 'nghin_ty', 'ty', rep.unit) unit_week
htd_chart_thang_nam rep
LEFT JOIN
htd_chart_thang_nam_agg cs_n
ON
cs_n.prd_id = rep.nam || rep.thang || '01'
AND cs_n.dep_code = rep.dep_code_pk
AND DECODE (cs_n.service_pk,
'19', 'DTTD',
'143', 'DTDV',
'2000', 'LNTT',
'2001', 'LNST',
'DTTD') = rep.level1
LEFT JOIN
htd_chart_thang_nam_agg cs_n_1
ON cs_n_1.prd_id = (rep.nam - 1) || rep.thang || '01'
AND cs_n_1.dep_code = rep.dep_code_pk
AND DECODE (cs_n_1.service_pk,
'19', 'DTTD',
'143', 'DTDV',
'2000', 'LNTT',
'2001', 'LNST',
'DTTD') = rep.level1
LEFT JOIN
htd_chart_thang_nam_agg cs_n_2
ON
cs_n_2.prd_id = (rep.nam - 2) || rep.thang || '01'
AND cs_n_2.dep_code = rep.dep_code_pk
AND DECODE (cs_n_2.service_pk,
'19', 'DTTD',
'143', 'DTDV',
'2000', 'LNTT',
'2001', 'LNST',
'DTTD') = rep.level1
rep.level1 = 'DTDV'
AND rep.dep_code_pk = 'TD'
AND rep.prd_id = TO_CHAR (TO_DATE ('20150630', 'yyyyMMdd'), 'YYYYMMDD'))

order by thang;

3. Biu % TT tng thng

BM_QT05_MTYCTD

17/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

Cu lnh ly d liu: Dng cu lnh biu 1.

4. Biu Delta tch ly cc thng


-

Cu lnh ly d liu:

SELECT

prd_id,
month month, month thang,
year,
dep_pk,
CASE
WHEN
f_schedule_n_fix != 0
AND f_schedule_n_fix IS NOT NULL
AND th_n_1 != 0
AND th_n_1 IS NOT NULL
THEN
(f_schedule_n_fix - th_n_1) / rate_unit_week
ELSE
NULL
END
khpb_n,
CASE
WHEN month <= TO_CHAR (TO_DATE ('20150708', 'yyyyMMdd'), 'MM')
THEN
CASE
WHEN
f_schedule_n != 0
AND f_schedule_n IS NOT NULL
AND th_n_1 != 0
AND th_n_1 IS NOT NULL
THEN
(f_schedule_n - th_n_1) / rate_unit_week
ELSE
NULL
END
ELSE
CASE
WHEN
f_schedule_n_fix != 0
AND f_schedule_n_fix IS NOT NULL
AND th_n_1 != 0
AND th_n_1 IS NOT NULL
THEN
(f_schedule_n_fix - th_n_1) / rate_unit_week
ELSE
NULL
END
END
khdv_n,
CASE
WHEN
th_thang_trong_nam != 0
AND th_thang_trong_nam IS NOT NULL
AND th_n_1_ck != 0
AND th_n_1_ck IS NOT NULL
THEN
(th_thang_trong_nam - th_n_1_ck) / rate_unit_week
ELSE
NULL
END
th_n,
CASE
WHEN
th_n_1 != 0
AND th_n_1 IS NOT NULL
AND th_n_2 != 0
AND th_n_2 IS NOT NULL
THEN
(th_n_1 - th_n_2) / rate_unit_week
ELSE
NULL
END
th_n_1,
CASE
WHEN
th_n_2 != 0
AND th_n_2 IS NOT NULL
AND th_n_3 != 0
AND th_n_3 IS NOT NULL
THEN

BM_QT05_MTYCTD

18/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

(th_n_2 - th_n_3) / rate_unit_week


ELSE
NULL
END
th_n_2,
CASE
WHEN
f_schedule_n_fix != 0
AND f_schedule_n_fix IS NOT NULL
AND th_n_1 != 0
AND th_n_1 IS NOT NULL
THEN
CASE
WHEN th_n_1 < 0
THEN
100 * (f_schedule_n_fix - th_n_1) / ABS (th_n_1)
ELSE
100 * ((f_schedule_n_fix / th_n_1) - 1)
END
ELSE
NULL
END
tt_khpb,
CASE
WHEN month <= TO_CHAR (TO_DATE ('20150708', 'yyyyMMdd'), 'MM')
THEN
CASE
WHEN
f_schedule_n != 0
AND f_schedule_n IS NOT NULL
AND th_n_1 != 0
AND th_n_1 IS NOT NULL
THEN
CASE
WHEN th_n_1 < 0
THEN
100
* (f_schedule_n - th_n_1)
/ ABS (th_n_1)
ELSE
100 * ( (f_schedule_n / th_n_1) - 1)
END
ELSE
NULL
END
else
CASE
WHEN
f_schedule_n_fix != 0
AND f_schedule_n_fix IS NOT NULL
AND th_n_1 != 0
AND th_n_1 IS NOT NULL
THEN
CASE
WHEN th_n_1 < 0
THEN
100 * (f_schedule_n_fix - th_n_1) / ABS (th_n_1)
ELSE
100 * ( (f_schedule_n_fix / th_n_1) - 1)
END
ELSE
NULL
END
end
tt_khdv,
CASE
WHEN
th_thang_trong_nam != 0
AND th_thang_trong_nam IS NOT NULL
AND th_n_1_ck != 0
AND th_n_1_ck IS NOT NULL
THEN
CASE
WHEN th_n_1_ck < 0
THEN
100
* (th_thang_trong_nam - th_n_1_ck)
/ ABS (th_n_1_ck)
ELSE
100 * ((th_thang_trong_nam / th_n_1_ck) - 1)

BM_QT05_MTYCTD

19/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

END
ELSE
NULL
END
tt_thn,
CASE
WHEN
th_n_1 != 0
AND th_n_1 IS NOT NULL
AND th_n_2 != 0
AND th_n_2 IS NOT NULL
THEN
CASE
WHEN th_n_2 < 0
THEN
100 * (th_n_1 - th_n_2) / ABS (th_n_2)
ELSE
100 * ((th_n_1 / th_n_2) - 1)
END
ELSE
NULL
END
tt_thn1,
CASE
WHEN
th_n_2 != 0
AND th_n_2 IS NOT NULL
AND th_n_3 != 0
AND th_n_3 IS NOT NULL
THEN
CASE
WHEN th_n_3 < 0
THEN
100 * (th_n_2 - th_n_3) / ABS (th_n_3)
ELSE
100 * ((th_n_2 / th_n_3) - 1)
END
ELSE
NULL
END
tt_thn2,
unit_week unit
FROM
(SELECT
rep.prd_id,
rep.thang month,
rep.nam year,
rep.dep_code_pk dep_pk,
CASE
WHEN rep.thang <TO_CHAR (TO_DATE ('20150708', 'yyyyMMdd'), 'MM') or
(rep.thang =TO_CHAR (TO_DATE ('20150708', 'yyyyMMdd'), 'MM') and TO_CHAR (TO_DATE
('20150708', 'yyyyMMdd'), 'dd')>=15 )
THEN
CASE
WHEN cs_n.is_view = 1 AND cs_n.f_value != 0
AND rep.thang !=
TO_CHAR (
TO_DATE ('20150708', 'yyyyMMdd'),
'MM')
THEN
1000 * cs_n.f_value
ELSE
1000 * rep.f_value_n
END
ELSE
NULL
END
th_thang_trong_nam,
CASE
WHEN cs_n_1.is_view = 1 AND cs_n_1.f_value != 0
THEN
1000 * cs_n_1.f_value
ELSE
1000 * rep.f_value_n_1
END
th_n_1,
1000 * rep.f_value_ck th_n_1_ck,
CASE
WHEN cs_n_2.is_view = 1 AND cs_n_2.f_value != 0
THEN
1000 * cs_n_2.f_value

BM_QT05_MTYCTD

20/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

ELSE
1000 * rep.f_value_n_2
END
th_n_2,
CASE
WHEN rep.thang <=
TO_CHAR (
ADD_MONTHS (
TRUNC (
TO_DATE ('20150708', 'yyyyMMdd'),
'Q'),
2),
'MM')
THEN
CASE
WHEN cs_n.is_view = 1 AND cs_n.f_schedule != 0
THEN
1000 * cs_n.f_schedule
ELSE
1000 * rep.f_schedule_n_month
END
ELSE
NULL
END
f_schedule_n,
CASE
WHEN cs_n_1.is_view = 1 AND cs_n_1.f_schedule != 0
THEN
1000 * cs_n_1.f_schedule
ELSE
1000 * rep.f_schedule_n_1_month
END
f_schedule_n_1,
CASE
WHEN cs_n_2.is_view = 1 AND cs_n_2.f_schedule != 0
THEN
1000 * cs_n_2.f_schedule
ELSE
1000 * rep.f_schedule_n_2_month
END
f_schedule_n_2,
rep2.rate_unit rate_unit_week,
rep2.unit unit_week,
CASE
WHEN rep2.thang <=
TO_CHAR (TO_DATE ('20150708', 'yyyyMMdd'),
'MM')
THEN
CASE
WHEN cs_th_n.is_view = 1
AND cs_th_n.f_value != 0
THEN
1000 * cs_th_n.f_value
ELSE
1000 * rep2.f_value_n
END
ELSE
NULL
END
rep2_th_n,
CASE
WHEN cs_th_n.is_view = 1 AND cs_th_n.f_schedule != 0
THEN
1000 * cs_th_n.f_schedule
ELSE
1000 * rep2.f_schedule_n_month
END
rep2_f_schedule_n,
CASE
WHEN cs_th_n_1.is_view = 1
AND cs_th_n_1.f_schedule != 0
THEN
1000 * cs_th_n_1.f_schedule
ELSE
1000 * rep2.f_schedule_n_1_month
END
rep2_f_schedule_n_1,

BM_QT05_MTYCTD

21/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

FROM

BM_QT05_MTYCTD

CASE
WHEN cs_th_n_1.is_view = 1 AND cs_th_n_1.f_value != 0
THEN
1000 * cs_th_n_1.f_value
ELSE
1000 * rep2.f_value_n_1
END
rep2_th_n_1,
CASE
WHEN cs_th_n_2.is_view = 1 AND cs_th_n_2.f_value != 0
THEN
1000 * cs_th_n_2.f_value
ELSE
1000 * rep2.f_value_n_2
END
rep2_th_n_2,
1000 * rep2.f_value_ck rep2_f_value_ck,
1000 * rep.f_value_n_3 th_n_3,
1000 * rep.f_schedule_n_fix f_schedule_n_fix
htd_chart_thang_nam_delta rep
LEFT JOIN
htd_chart_thang_nam rep2
ON rep.prd_id = rep2.prd_id
AND rep.level1 = rep2.level1
AND rep.dep_code_pk =
rep2.dep_code_pk
AND rep.thang = rep2.thang
LEFT JOIN
htd_chart_delta_agg cs_n
ON cs_n.prd_id =
rep.nam || rep.thang || '01'
AND cs_n.dep_code = rep.dep_code_pk
AND DECODE (cs_n.service_pk,
'19', 'DTTD',
'143', 'DTDV',
'2000', 'LNTT',
'2001', 'LNST',
'DTTD') = rep.level1
LEFT JOIN
htd_chart_delta_agg cs_n_1
ON cs_n_1.prd_id =
(rep.nam - 1) || rep.thang || '01'
AND cs_n_1.dep_code = rep.dep_code_pk
AND DECODE (cs_n_1.service_pk,
'19', 'DTTD',
'143', 'DTDV',
'2000', 'LNTT',
'2001', 'LNST',
'DTTD') = rep.level1
LEFT JOIN
htd_chart_delta_agg cs_n_2
ON cs_n_2.prd_id =
(rep.nam - 2) || rep.thang || '01'
AND cs_n_2.dep_code = rep.dep_code_pk
AND DECODE (cs_n_2.service_pk,
'19', 'DTTD',
'143', 'DTDV',
'2000', 'LNTT',
'2001', 'LNST',
'DTTD') = rep.level1
LEFT JOIN
htd_chart_thang_nam_agg cs_th_n
ON cs_th_n.prd_id = rep.nam || rep.thang || '01'
AND cs_th_n.dep_code = rep.dep_code_pk
AND DECODE (cs_th_n.service_pk,
'19', 'DTTD',
'143', 'DTDV',
'2000', 'LNTT',
'2001', 'LNST',
'DTTD') = rep.level1
LEFT JOIN
htd_chart_thang_nam_agg cs_th_n_1
ON cs_th_n_1.prd_id =
(rep.nam - 1) || rep.thang || '01'
AND cs_th_n_1.dep_code = rep.dep_code_pk
AND DECODE (cs_th_n_1.service_pk,
'19', 'DTTD',

22/

QT01_14125_SLGBTD - Ti liu M t yu cu thay i cho yu biu n v

'143', 'DTDV',
'2000', 'LNTT',
'2001', 'LNST',
'DTTD') = rep.level1

WHERE

LEFT JOIN
htd_chart_thang_nam_agg cs_th_n_2
ON cs_th_n_2.prd_id = (rep.nam - 2) || rep.thang || '01'
AND cs_th_n_2.dep_code = rep.dep_code_pk
AND DECODE (cs_th_n_2.service_pk,
'19', 'DTTD',
'143', 'DTDV',
'2000', 'LNTT',
'2001', 'LNST',
'DTTD') = rep.level1
rep.level1 = 'DTDV' AND rep.dep_code_pk = 'TD'
AND rep.prd_id =
TO_CHAR (TO_DATE ('20150708', 'yyyyMMdd'),
'YYYYMMDD')) ORDER BY thang

5. Biu % TT tch ly
o Cu lnh ly d liu: Dng cu lnh biu 4

1. M t thay i v CSDL
1.3.3

nh gi nh hng hiu nng


Khng nh hng v mt hiu nng

1.4
1.4.1

iu kin m bo
iu kin m bo cn khch hng m bo
Khng yu cu iu kin m bo

1.4.2

iu kin m bo cn bn th 3 m bo
Khng yu cu iu kin m bo

1.4.3

iu kin m bo trong ni b TTPM


Khng yu cu iu kin m bo

BM_QT05_MTYCTD

23/

You might also like