Bonjour,
Je rencontre un problème pour créer un rapport sur des ventes. Je m'explique, j'arrive à créer un rapport qui regroupe les ventes par région et fait simplement la somme des différentes ventes (CA reel/obj, MB reel/obj, QTE reel/obj) selon une date donnée, mais j'aurais besoin de récupérer les sommes des ventes pour une date antérieure afin de faire des calculs dessus (ici, récupérer les memes sommes pour une date antérieure et calculer l'écart par rapport au premières somme calculée. Ma requete pour l'instant ressemble à ca :
Est ce que iReport est capable de créer une deuxième requete SQL (en changeant la date pour cet exemple) et ensuite faire de calculs entre des champs provenants des deux requetes ou faut-il que je passe par une requete compliquée en SQL pour récupérer cela ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 SELECT region.`REGION_ID` AS region_REGION_ID, region.`REGION_LIB` AS region_REGION_LIB, sum(vente.`VENTE_CA_REEL`), sum(vente.`VENTE_CA_OBJ`), sum(vente.`VENTE_MB_REEL`), sum(vente.`VENTE_MB_OBJ`), sum(vente.`VENTE_QTE_REEL`), sum(vente.`VENTE_QTE_OBJ`), (sum(vente.`VENTE_CA_REEL`) - sum(vente.`VENTE_CA_OBJ`)) / sum(vente.`VENTE_CA_OBJ`) * 100, (sum(vente.`VENTE_MB_REEL`) - sum(vente.`VENTE_MB_OBJ`)) / sum(vente.`VENTE_MB_OBJ`) * 100, (sum(vente.`VENTE_QTE_REEL`) - sum(vente.`VENTE_QTE_OBJ`)) / sum(vente.`VENTE_QTE_OBJ`) * 100 FROM `magasin` magasin INNER JOIN `vente` vente ON magasin.`MAGASIN_ID` = vente.`FK_MAGASIN_ID` INNER JOIN `region` region ON magasin.`FK_REGION_ID` = region.`REGION_ID` INNER JOIN `enseigne` enseigne ON magasin.`FK_ENSEIGNE_ID` = enseigne.`ENSEIGNE_ID` INNER JOIN `famille` famille ON vente.`FK_FAMILLE_ID` = famille.`FAMILLE_ID` WHERE enseigne.`ENSEIGNE_LIB` IN ($P{ENSEIGNE}) OR $P{ALL_ENSEIGNE} = '1' AND famille.`FAMILLE_ID` IN ($P{PRODUIT}) OR $P{ALL_PRODUIT} = '1' AND vente.`VENTE_DATE` IN ($P{ANNEE}) OR $P{ALL_ANNEE} = '1' AND vente.`VENTE_DATE` >= $P{DateDebut} AND vente.`VENTE_DATE` <= $P{DateFin} GROUP BY region_REGION_ID
Merci d'avance pour votre aide
Partager