Projet Fantastic : Exploitation multi-dimensionnelle de données

Effectuez une requête multi-niveaux permettant de calculer les ventes sur la hiérarchie date-mois-trimestre.

Requête

SELECT d.dat, d.tri, d.mon, count(*)
FROM f_dw_ventes v, f_dw_date d
WHERE v.dat=d.dat
GROUP BY ROLLUP (d.tri, d.mon, d.dat);

Résultat (extrait)

01-JAN-13   1   1     1338 
02-JAN-13   1   1     1340 
03-JAN-13   1   1     1427 
04-JAN-13   1   1     1325 
05-JAN-13   1   1     3683 
08-JAN-13   1   1     1262 
09-JAN-13   1   1     1394 
10-JAN-13   1   1     1507 
11-JAN-13   1   1     1368 
12-JAN-13   1   1     3513 
15-JAN-13   1   1     1316 
16-JAN-13   1   1     1322 
17-JAN-13   1   1     1605 
18-JAN-13   1   1     1247 
19-JAN-13   1   1     3751 
22-JAN-13   1   1     1418 
23-JAN-13   1   1     1409 
24-JAN-13   1   1     1346 
25-JAN-13   1   1     1492 
26-JAN-13   1   1     3361 
29-JAN-13   1   1     1371 
30-JAN-13   1   1     1322 
31-JAN-13   1   1     1360 
            1   1    40477 
01-FEB-13   1   2     1499 
02-FEB-13   1   2     3347 
05-FEB-13   1   2     1658 
06-FEB-13   1   2     1318 
07-FEB-13   1   2     1230 
08-FEB-13   1   2     1461 
09-FEB-13   1   2     3318 
12-FEB-13   1   2     1515 
13-FEB-13   1   2     1349 
14-FEB-13   1   2     1307 
15-FEB-13   1   2     1379 
16-FEB-13   1   2     3531 
19-FEB-13   1   2     1374 
20-FEB-13   1   2     1566 
21-FEB-13   1   2     1414 
22-FEB-13   1   2     1311 
23-FEB-13   1   2     3543 
26-FEB-13   1   2     1357 
27-FEB-13   1   2     1622 
28-FEB-13   1   2     1270 
            1   2    36369 
01-MAR-13   1   3     1300 
02-MAR-13   1   3     3455 
05-MAR-13   1   3     1240 
...
29-NOV-13   4  11     1372 
30-NOV-13   4  11     3489 
            4  11    41269 
03-DEC-13   4  12     2311 
04-DEC-13   4  12     2245 
05-DEC-13   4  12     2278 
06-DEC-13   4  12     2079 
07-DEC-13   4  12     5091 
10-DEC-13   4  12     2246 
11-DEC-13   4  12     2287 
12-DEC-13   4  12     2341 
13-DEC-13   4  12     2217 
14-DEC-13   4  12     5184 
17-DEC-13   4  12     2086 
18-DEC-13   4  12     2081 
19-DEC-13   4  12     2251 
20-DEC-13   4  12     2290 
21-DEC-13   4  12     5073 
24-DEC-13   4  12     4001 
25-DEC-13   4  12     2128 
26-DEC-13   4  12      844 
27-DEC-13   4  12      782 
28-DEC-13   4  12     2542 
31-DEC-13   4  12      887 
            4  12    53244 
            4       135106 
                    492113

Étudiez l'éventuelle influence des magasins (certains sont-ils plus performants ?) et de l'implantation dans les départements (certains sont-ils plus propices ?).

Afin de ne pas être dépendant de l'organisation des magasins, effectuez la requête uniquement pour les magasins de type 'A' avec rayon BS (ce sont à la fois les magasins les plus nombreux et les plus performants).

Isolation de facteur

SELECT m.dpt, m.mag, count(*)
FROM f_dw_ventes v, f_dw_mag m
WHERE v.mag=m.mag AND m.ray = 'Author' AND m.bs = '1'
GROUP BY ROLLUP (m.dpt, m.mag);
13  M106              4680 
13  M3                4815 
13  M54               4634 
13  M68               4599 
13                   18728 
18  M50               4592 
18                    4592 
22  M2                4797 
22                    4797 
28  M144              4313 
28  M21               4933 
28  M92               4653 
28                   13899 
30  M29               4596 
...
92  M138              4573 
92  M80               4915 
92                   14247 
95  M148              4759 
95  M28               4771 
95  M34               4824 
95  M37               4867 
95  M40               4795 
95  M70               4707 
95  M81               4767 
95                   33490 
                    281153 

On observe que les magasins sont assez homogènes, et également les département si on les ramène au nombre de magasins qu'ils contiennent.

Effectuer une requête multi-dimensionnelle permettant de regarder si les magasins avec un rayon best-sellers vendent plus de livres best-sellers ou non.

On peut utiliser un tableur pour finaliser les analyses de ratio sur les valeurs renvoyées par la requête CUBE obtenue.

SELECT b.bs || ';' || m.bs || ';' || count(*) || ';'
FROM f_dw_ventes v, f_dw_produit p, f_dw_bs b, f_dw_mag m
WHERE v.pro=p.isbn AND p.isbn=b.isbn AND v.mag=m.mag
GROUP BY CUBE (b.bs, m.bs);
AccueilApplication : Exploitation multi-dimensionnelle de données > Exercice : Projet Fantastic : Exploitation multi-dimensionnelle de données< PrécédentSuivant >