Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Crystal Reports
Crystal Reports Forum d'entraide sur Crystal Reports. Avant de poster --> FAQ Crystal, Tutoriels Crystal
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 29/01/2008, 11h15   #1
Membre régulier
 
Inscription : mai 2007
Messages : 173
Détails du profil
Informations personnelles :
Âge : 42
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mai 2007
Messages : 173
Points : 70
Points : 70
Par défaut totaux calculé en haut de section

bonjour,

je cheche à faire apparaitre un total calculé par formule en haut d'une section.
par exemple :

Code :
1
2
3
4
 
Total    12
ligne 1  10
ligne 2  2
pour se faire j'ai la structure suivante :
Code :
1
2
Section 1 : @totalLignes
Détail    : @maformule.
avec :
Code :
1
2
3
4
5
6
@totalLignes :
Global NumberVar cumulMàj;
WhilePrintingRecords;
NumberVar result := cumulMàj;
cumulMàJ := 0;
result;
et
Code :
1
2
3
4
@maformule :
Global NumberVar cumulMàj;
cumulMàj := cumulMàj + Maximum({VUE_FLUX.FTR_NB_MAJ},{VUE_FLUX.FTR_ID});
cumulMàj;
ce code me fait apparaitre le total en BAS de section... ce qui ne me va pas du tout...

j'ai essayé d'inserer des Résumés mais il ne se basent que sur des champs et pas sur des formules...

une idée??

merci.

P.
pdelorme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2008, 11h18   #2
Inactif
 
Avatar de Aitone
 
Inscription : novembre 2006
Messages : 3 569
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3 569
Points : 3 291
Points : 3 291
Bonjour,

Il n'y a qu'une seule solution au problème.

En effet, CR ne sait pas afficher un résultat quand les montants à additionner se trouvent après au momennt de la lecture de l'état.
Il faut donc créer en en-tête un sous-état qui fait la même chose que ton état et stocker tes valeurs dans des variables pour les afficher ensuite où tu souhaite.
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2008, 12h32   #3
Membre régulier
 
Inscription : mai 2007
Messages : 173
Détails du profil
Informations personnelles :
Âge : 42
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mai 2007
Messages : 173
Points : 70
Points : 70
Merci pour ta réponse.

J'ai finalement résolu mon problème en intervenant sur la source de donnée.
l'idée étant déplacer mes formules dans une vue.
De cette manière je zap completement la logique d'évaluation de crystal report.

P.
pdelorme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2008, 12h44   #4
Inactif
 
Avatar de Aitone
 
Inscription : novembre 2006
Messages : 3 569
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3 569
Points : 3 291
Points : 3 291
Bravo

Je t'invite à expliquer ton raisonnement dans le topic FAQ

Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2008, 15h18   #5
Membre régulier
 
Inscription : mai 2007
Messages : 173
Détails du profil
Informations personnelles :
Âge : 42
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mai 2007
Messages : 173
Points : 70
Points : 70
Problematique :

j'ai une vue basé sur une jointure de trois tables. une de header et une de détail et une de regroupement.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
TABLE HEADER
head_id    number
groupe_id  number
libelle    varchar10
total      number
 
TABLE DETAIL
detail_id number
header_Id number
libelle   varchar10
 
TABLE GROUPE
group_id number
libelle  varchar10
ma vue est :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CREATE OR REPLACE VIEW datasource ( 
   groupe_id, 
   head_id, 
   detail_id, 
   libelle, 
   total
 ) AS 
SELECT
   groupe_id, 
   head_id, 
   detail_id, 
   libelle, 
   total
FROM header, groupe, détail
WHERE 
    header.header_id = detail.header_id
AND header.groupe_id = groupe.groupe_id
je veux un repport qui aurais la tête suivante :
Code :
1
2
3
Section Groupe: Somme(Header.total,Groupe)
Section Header: HEADER.total
Detail : DETAIL.valeur
le résultat souhaité est
Code :
1
2
3
4
5
6
Groupe1 : 345 <- total groupe
Header1 : 300 <- total header1
Détail  : bla
Détail  : Bla
Header2 : 45 <- total header2
Groupe2... etc...
le probleme est que la jointure HEADER x DETAIL x GROUPE (ci dessus) retourne :
Code :
1
2
3
4
5
6
groupe_id, head_id, detail_id, libelle, total
1,1,1,titi,300
1,1,2,toto,300
1,1,3,tutu,300
1,2,4,hehe,45
1,2,5,hoho,45
et que je souhaite afficher la somme de 300 et de 45.

il est possible de résoudre cela avec crystal report en utilisant des formules d'accumulation de valeurs évalué lors de l'edition de l'état (voir premier post). Mais le résultat n'est alors disponible qu'après l'édition des lignes de détail. Donc en fin de section.

Mais si on souhaite le total en haut de section, on est foutu (voir post d'adrien)

La solution trouvé est de modifier la vue de base de la manière suivante :
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
CREATE OR REPLACE VIEW datasource ( 
   groupe_id, 
   head_id, 
   detail_id, 
   libelle, 
   total
 ) AS 
SELECT
   groupe_id, 
   head_id, 
   detail_id, 
   libelle, 
   0
FROM header, groupe, détail
WHERE 
    header.header_id = detail.header_id
AND header.groupe_id = groupe.groupe_id
union ALL
SELECT
   groupe_id, 
   head_id, 
   0, 
   NULL, 
   header.total
FROM header, groupe
WHERE 
    header.groupe_id = groupe.groupe_id
du coup ma vue retourne :
Code :
1
2
3
4
5
6
7
8
groupe_id, head_id, detail_id, libelle, total
1,1,0,NULL,300
1,1,1,titi,0
1,1,2,toto,0
1,1,3,tutu,0
1,2,0,NULL,45
1,2,4,hehe,0
1,2,5,hoho,0
dans mon crystal je n'ai plus qu'a afficher en haut de section la somme (Header.total, groupe) et le tour est joué.

Bon, j'espere avoir été clair.

Patrice.
pdelorme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2008, 15h20   #6
Membre régulier
 
Inscription : mai 2007
Messages : 173
Détails du profil
Informations personnelles :
Âge : 42
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mai 2007
Messages : 173
Points : 70
Points : 70
Citation:
Envoyé par Adrien Artero Voir le message
Je t'invite à expliquer ton raisonnement dans le topic FAQ
Adrien,
j'aurais du mal à généraliser le problème pour le mettre en FAQ. mais la solution est la

Patrice
pdelorme est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h56.


 
 
 
 
Partenaires

Hébergement Web