Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Crystal Reports > Formules
Formules Forum sur l'utilisation des formules sous Crystal reports
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 03/01/2007, 08h45   #1
Invité régulier
 
Inscription : avril 2004
Messages : 38
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 38
Points : 8
Points : 8
Par défaut tri d'enregistrements sur formule

Bonjour,
Meilleurs voeux à tous!

J'ai une formule dans un état qui est une soustraction de 2 sommes en pourcentages d'une autre somme:
(Sum ({Commande.CA1}, {Commande.COD_VA})-Sum ({Commande.CA2}, {Commande.COD_VA}))%abs(Sum ({Commande.CA1}, {Commande.COD_VA})))

J'affiche ensuite cette formule dans un groupe et j'aimerai trié les enregistrements en fonction de cette formule. J'ai essayé l'expert tri de groupe, tri d'enregistrements..., mais rien trouvé .
Quelqu'un aurait il une solution?

merci d'avance
nanouille56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 12h07   #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
Ca veut dire quoi "Trier les enregistrements selon la formule" ?
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 12h36   #3
Invité régulier
 
Inscription : avril 2004
Messages : 38
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 38
Points : 8
Points : 8
Et bien ma formule me renvoit un pourcentage pour chaque valeur de mon groupe VA, et je voudrais voir afficher d'abord les VA qui ont un % le + important puis visualiser en décroissant. Est ce clair?
nanouille56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 13h25   #4
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
je vois pas du tout où est le problème...
dans l'expert groupes et/ou expert de tri, tu ajoutes ton champ formule.

C'est quoi que tu trouves pas?
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 13h35   #5
Invité régulier
 
Inscription : avril 2004
Messages : 38
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 38
Points : 8
Points : 8
c'est justement ça le souci , c'est que dans l'expert tri de groupe, il ne me propose pas ma formule.
nanouille56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 13h48   #6
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
ah...plus embêtant en effet.
C'est quoi ta version de CR?

Sinon, un doute m'étreint...il me semble que sur un champ/formule qui retournerait une valeur Text (au sens BLOB par ex..), il propose pas le champ..
J'ai déjà été obligé de caster un champ de ma BDD.

essaie un CStr(ta formule)

A tout hasard..
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 13h58   #7
Invité régulier
 
Inscription : avril 2004
Messages : 38
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 38
Points : 8
Points : 8
J'ai CR XI
Ma formule me renvoie un numérique, ci -dessous ma formule exacte:
if isnull(Sum ({Commande.CA1}, {Commande.COD_VA})) or Sum ({Commande.CA1}, {Commande.COD_VA})=0 then 0
else
(Sum ({Commande.CA1}, {Commande.COD_VA})-Sum ({Commande.CA2}, {Commande.COD_VA}))%abs(Sum ({Commande.CA1}, {Commande.COD_VA}))

T'as une idée?
nanouille56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 14h06   #8
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
Essaie de voir en remplacant
Code :
IF IS NULL (ta condition)
par
On se sait jamais...
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 14h16   #9
Invité régulier
 
Inscription : avril 2004
Messages : 38
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 38
Points : 8
Points : 8
Dans mon if j'avais les 2 cas, is null et =0. J'ai supprimé le isnull mais c'est pareil.
Quand je vais dans l'expert tri de groupes, les seuls champ qu'il me propose pour mon groupe sont mes sommes.
nanouille56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 14h20   #10
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
Je pense qu'il faut alors partir sur la base de l'expert tri d'enregistrements.
Quan dtu le fais, ta formule n'apparait pas dans les champs disponibles (liste de gauche) ?
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 14h20   #11
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
Citation:
Envoyé par Aitone le chien
Essaie de voir en remplacant
Code :
IF IS NULL (ta condition)
par
On se sait jamais...
il fait déjà les deux tests...

moi je vote pour un problème de typage.

essaies de forcer le type dans les deux cas.
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 14h24   #12
Invité régulier
 
Inscription : avril 2004
Messages : 38
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 38
Points : 8
Points : 8
Je ne la vois pas non plus via l'expert tri d'enregistrements.

Qu'est ce que tu veux dire par forcer le type?
nanouille56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 14h30   #13
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
ben je pensais à kkchose comme ça :

i
Code :
1
2
3
4
f isnull(Sum ({Commande.CA1}, {Commande.COD_VA})) or Sum ({Commande.CA1}, {Commande.COD_VA})=0 
then CDbl(0)
else
CDbl((Sum ({Commande.CA1}, {Commande.COD_VA})-Sum ({Commande.CA2}, {Commande.COD_VA}))%abs(Sum ({Commande.CA1}, {Commande.COD_VA})))
mais je viens de trouver un état où j'ai le même problème et j'arrive pas à corriger
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 14h34   #14
Invité régulier
 
Inscription : avril 2004
Messages : 38
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 38
Points : 8
Points : 8
Bon ben ça ne change rien avec le cdbl
nanouille56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 14h36   #15
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
Je ne comprend toujours pas l'utilisation des 2 conditions dans la formule sachant qu'elles veulent dire la même chose...

Mets en une seule et déjà cela marchera mieux...
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 14h39   #16
Invité régulier
 
Inscription : avril 2004
Messages : 38
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 38
Points : 8
Points : 8
Pour moi null et égal à 0, ne veulent pas dire la même chose, est ce de cela que tu veux parler?

Si je fais if ...=0, c'est le même problème
nanouille56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 15h32   #17
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
Citation:
Envoyé par Aitone le chien
Je ne comprend toujours pas l'utilisation des 2 conditions dans la formule sachant qu'elles veulent dire la même chose...
Mets en une seule et déjà cela marchera mieux...
Elle gère les deux cas, voila tout...
n'en mettre qu'une, je vois pas ce que ça va changer...
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 15h42   #18
Invité régulier
 
Inscription : avril 2004
Messages : 38
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 38
Points : 8
Points : 8
Ca ne marche pas non plus
nanouille56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 16h02   #19
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
Code :
1
2
3
4
IF (Sum ({Commande.CA1}, {Commande.COD_VA})) IS NULL OR Sum ({Commande.CA1}, {Commande.COD_VA})=0 
then 0
else
(Sum ({Commande.CA1}, {Commande.COD_VA}) -Sum ({Commande.CA2}, {Commande.COD_VA}))%abs(Sum ({Commande.CA1}, {Commande.COD_VA}))
Essai ceci, il faut également faire attention à l'indentation
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 16h21   #20
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
Citation:
Envoyé par Aitone le chien
Essai ceci, il faut également faire attention à l'indentation
mais en quoi l'indentation va changer le résultat !!!!
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say 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 19h13.


 
 
 
 
Partenaires

Hébergement Web