Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Jasper > iReport
iReport Forum d'entraide sur iReport
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/03/2011, 13h08   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 12
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 12
Points : 4
Points : 4
Par défaut reqête paramétrée ireport avec plusieurs paramètres

Bonjour

je voudrai paramétrer une requète afin de pouvoir afficher mon raport sur une periode donnée et par hierachie c a dire :


periode(date debut----date fin)
hierachie( service, departement, groupe, section ect..)

voici ma requête :
Code :
Code :
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
26
27
SELECT
     SUM(calcul.`retard`) AS tot_retard,
     SUM(calcul.`avance`) AS tot_avance,
     SUM(calcul.`abs_at`) AS tot_abs_at,
     SUM(calcul.`abs_n_at`) AS tot_abs_n_at,
     SUM(calcul.`nj`) AS tot_nj,
     SUM(calcul.`HNenMin`) AS tot_HNenMin,
     SUM(calcul.`dureePresenEnMin`) AS tot_dureePresenEnMin,
     SUM(calcul.`dureeAbsAut`) AS tot_dureeAbsAut,
     SUM(calcul.`dureeAbsNAut`) AS tot_dureeAbsNAut,
     SUM(calcul.`HSuppCompense`) AS tot_HSuppCompense,
     SUM(calcul.`hnprevu`) AS tot_hnprevu,
     personnel.`groupe` AS groupe,
     personnel.`equipe` AS equipe,
     personnel.`service` AS service,
     personnel.`departement` AS departement,
     personnel.`division` AS division,
     personnel.`section` AS section,
     calcul.`date_j` AS date_j,
     calcul.`date_m` AS date_m,
     calcul.`date_a` AS date_a,
     calcul.`Horaire` AS Horaire
FROM
      calcul Inner Join  personnel ON calcul.`matricule` = personnel.`matricule`
 
GROUP BY
..............
pour le paramètre période j'ai essayé ceci mais ça ne marche pas ..

Code :
Code :
1
2
IN  ($P!((date_a>annee_debut) or ((date_a=annee_debut) and (date_m>mois_debut) or ((date_a=annee_debut) and (date_m=mois_debut) and (date_j>=jour_debut)))) 
 (((date_a<annee_fin) or ((date_a=annee_fin) and (date_m<mois_fin)) or ((date_a=anne
ipfake est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2011, 16h17   #2
Membre expérimenté
 
Homme Gabriel Entressangle
Consultant informatique
Inscription : août 2007
Messages : 293
Détails du profil
Informations personnelles :
Nom : Homme Gabriel Entressangle
Âge : 67
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Service public

Informations forums :
Inscription : août 2007
Messages : 293
Points : 567
Points : 567
J'ai un peu de mal à comprendre ce que tu as voulu faire avec ton paramètre au vu de la requête que tu donnes.

Pour ne parler que de la période, en général on utilise des dates complètes "JJ/MM/AAAA" et on définit deux paramètres DateDebut et DateFin et on met quelque chose du style :

Code :
Where Champ_Date between $P{DateDebut} and $P{DateFin}
dans la clause where de la requête

Si tu as des spécificités sur la gestion des dates dans tes tables, il faudrait nous le préciser
Gabriel.Entressangle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2011, 17h39   #3
Invité de passage
 
Inscription : janvier 2011
Messages : 12
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 12
Points : 4
Points : 4
Par défaut requête paramétrée sous ireport avec plusieurs paramètres

Merci Gabriel
J'ai du casser le champ date en année jour et mois pour des besoins d'une application qui utilise la même base de données.
Donc pour mon paramètre période voici ce que j'essaye


Code :
1
2
3
4
5
where
((date_a>$P{annee_debut}) or ((date_a=$P{annee_debut}) and (date_m>$P{mois_debut}))
or ((date_a=$P{annee_debut}) and (date_m=$P{mois_debut}))and (date_j>=$P{jour_debut}))
 
AND (((date_a<$P{annee_fin}) or ((date_a=$P{annee_fin}) and (date_m<$P{mois_fin})) or ((date_a=$P{annee_fin}) and (date_m=$P{mois_fin}) and (date_j<=$P{jour_fin}) )))
donc coté utilisateur j'aurai une interface

j'ai juste essayé de mettre les paramètres 1 a 1...mai aucun résultat quand j'essaye d'afficher un état.
ipfake est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2011, 21h44   #4
Membre expérimenté
 
Homme Gabriel Entressangle
Consultant informatique
Inscription : août 2007
Messages : 293
Détails du profil
Informations personnelles :
Nom : Homme Gabriel Entressangle
Âge : 67
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Service public

Informations forums :
Inscription : août 2007
Messages : 293
Points : 567
Points : 567
Vu de loin et vu le nombre de and et or dans ton expression il y a de fortes chances pour que tu récupères une valeur "false".
Personnellement ce que je ferais:
- si j'ai bien compris tu as une date qui se compose de date_a(annéee), date_m(mois), et date_j jour. Je fabriquerais une date numériquedu style AAAAMMJJ (20110301 pour aujourd'hui 1er Mars) et je comparerais cette date avec des paramètres entrés sous forme date classique et convertis sous ce format. Dans ce cas ma formule donnée plus haut marcherait.
Par exemple en syntaxe Oracle ca donnerait pour la conversion de tes champs date:

Code :
1
2
select ...................
where to_number(date_a||date-m||date_j) between $P{DateDebut} and $P{DateFin}
Bien sûr il faut que les années soient sur 4 positions, les mois et les jours sur 2 positions.
Les paramètres DateDebut et DateFin sont des paramètres "Calculés" (valeur par défaut) à partir de paramètres saisis sous la forme date classique et convertis ensuite en format numérique.
Gabriel.Entressangle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 14h50   #5
Invité de passage
 
Homme ahmed boulakhbar
Étudiant
Inscription : mai 2011
Messages : 1
Détails du profil
Informations personnelles :
Nom : Homme ahmed boulakhbar
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 1
Points : 1
Points : 1
Bonjour,
merci infiniment pour ces informations.dans mon cas j'ai un problème dans l'expression du valeur par défaut.voila ce que j'ai fait:

s
Code :
elect...........from.................where dim_temps.annee||dim_temps.mois||dim_temps.jour||dim_temps.heure=$P{choix_annee}||$P{choix_mois}||$P{choix_jour}||$P{choix_heure}..
quand j'ai donné tous les paramètres ça marche..mais je veux définir une expression par défaut par exemple pour le paramètre heure, l'expression par défaut c de sélectionner toutes les heures.
merci de me proposer une solution
Ahmed15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h40.


 
 
 
 
Partenaires

Hébergement Web