Darkzombie
Messages postés12Date d'inscriptionlundi 1 mars 2004StatutMembreDernière intervention13 juillet 2005
-
1 mars 2004 à 15:03
Darkzombie
Messages postés12Date d'inscriptionlundi 1 mars 2004StatutMembreDernière intervention13 juillet 2005
-
7 avril 2005 à 17:28
Bonjour tout le monde,
je suis sur un projet visant à diffuser sur un site des statistiques venant de divers tables de bases de données (dans mon cas, en MYSQL).
Mais j'ai un problème, je n'arrive pas à trouver un moyen pour visualiser des champs qui ne sont pas nécessairement dans la table.
Vous allez comprendre avec un exemple :
Je veux afficher un graphique qui répartit les clients selon leur age... J'ai dans la BD un champ "Date_naiss_client", via une formule j'ai calculé l'age et via un groupe j'affiche sur mon graphique les clients agés de 1 à 5 ans puis de 6 à 10, puis de 15 à 20, etc... Mais dans le cas où il n'y a aucun client dans la BD ayant entre 15 et 20 ans, il ne m'affiche pas de barre avec comme valeur "0", il me la passe tout simplement ! Je me retrouve donc avec un graphique du type : 1 à 5 ans puis 6 à 10 ans puis 11 à 15 ans puis direct 20 à 25 ans (alors que je voudrais qu'il m'affiche ce groupe là quand meme avec aucun barre mais un "0")....
Je sais pas si je m'exprime bien... Mais c'est assez pénible de chercher et de ne pas trouver un moyen pour ca...
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 1 mars 2004 à 18:17
Quel est le rapport avec Crystal Report ?
Je connais pas beucoup Crystal Report donc j'aimerais si possible avoir un bout de code pour regarder comment ca marche car j'aimerais bien en connaitre un peu plus sur ce composant car c'st pas la premiere fois que j'en entend parler
Darkzombie
Messages postés12Date d'inscriptionlundi 1 mars 2004StatutMembreDernière intervention13 juillet 2005 1 mars 2004 à 18:53
Ah oui, si tu connais pas Crystal Report ca va être difficile de t'expliquer :(
C'est un programme qui permet de faire des rapports ou des graphiques.
Dans mon cas, c'est des graphiques (voir exemple dans mon premier message)...
Mais il n'y a aucune code de programmation dans ce programme, c'est de la configuration tout le temps en quelques sorte... C'est ca qui réduit fort les possibilités... C'est dommage. Mais je n'ai pas le choix, je suis obligé d'utiliser ce programme...
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 1 mars 2004 à 19:17
Comment ca : c'est de la configuration ? j'ai Crystal Report sous VS.net et je ne pense pas qu'il n'y a que de la configuration, il n'y a pas de code qui permet de lier tes donnés a ce composant ?
Pour Crystal Report je connais juste ce que tu m'as dit, mais il renvoie les tableaux etc sous quel format pdf ? html ? ...
Darkzombie
Messages postés12Date d'inscriptionlundi 1 mars 2004StatutMembreDernière intervention13 juillet 2005 3 mars 2004 à 10:08
A la base, le rapport est en format ".rpt" et je sais ensuite généré mon rapport en lui donnant des paramètres par exemple comme par exemple le numéro de l'organisation dans laquelle se trouve le client (voir exemple 1er message).
Je peux en effet faire des formules ou des requètes SQL avec ces paramètres mais ca ne change pas l'affichage du graphique pour autant...
C'est à dire que dans tous les cas, quand il n'y a pas de correspondance dans la BD MySQL pour la tranche d'age 15-20 ans par exemple, et bien cette tranche d'age est tout simplement passée (n'est pas affichée) dans le graphique.
Pourtant j'utilise un groupe dans lequel je définis la sortie des données selon un ordre défini. Cet ordre défini, je le fais moi meme en mettant pour chaque tranche la fonction BETWEEN x et y (donc par exemple, 10 et 15)...
Mais comme je dis, une tranche d'age de ce groupe dont aucun client ne s'y retrouve, elle est passée et donc non affichée sur le graphique. Pourtant, je me dis qu'avec un programme aussi gros que Crystal Report, il doit y avoir un moyen pour mettre des groupes à 0 dans le cas où aucune correspondance n'est touvée !
Alors, voilà...
Ca aide ? lol
Zombie.
Vous n’avez pas trouvé la réponse que vous recherchez ?
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 3 mars 2004 à 13:40
J'ai lu vite fait le truc mais trop vite fait mais j'ai pas trop le temps mais tu pourrais m'envoyer ton code ? qui permet de generer tes rapports ? Je regarferais ca se soir
Darkzombie
Messages postés12Date d'inscriptionlundi 1 mars 2004StatutMembreDernière intervention13 juillet 2005 3 mars 2004 à 15:47
Mais je n'utilise pour l'instant aucun code !
J'utilise uniquement le programme Crystal Report, et mon rapport est configurer de tel façon qu'il est relier à ma BD MySQL. Et donc, quand je clique sur le bouton "Refresh", il m'affiche dans la fenêtre "Preview" un aperçu de ce que je vais avoir...
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 3 mars 2004 à 16:26
Ok donc je penser que tu faisais la liaison SQL Crystal Report grace a du code donc tu fais comment alors ? t sur qu'il n'y a pas une possibilité grace au code, car j'ai vu sur ce site il y a pas trop longtemps un exemple de crystal eport avec du code, sinon vu que je ne connais pas le logiciel ... mais je vois cependant une idée essayer de tricher, avec ta base de donnée en mettant par exemple 0.00000001 au lieu de 0 avec de la chance si il te fait un arrondi il te donnera 0 20-25 ans ou sinon tente un nombre negatif desfois que ca se voit pas sur le graphe :-/
Darkzombie
Messages postés12Date d'inscriptionlundi 1 mars 2004StatutMembreDernière intervention13 juillet 2005 3 mars 2004 à 17:03
Oui, c'est une solution...
Je vais encore chercher un peu mais sinon, je ferai une génération automatique d'une table temporaire en PHP et je l'utiliserai pour mon rapport... Dans cette table, j'y indiquerai simplement une colonne pour la tranche d'age et une autre pour le nbre dedans... et là, vu qu'il y aura au moins une ligne pour chaque tranche... ca passera...
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 3 mars 2004 à 17:21
En PHP ???? [:'(] Tu preferes pas l'asp ? surtout que j'ai une source faisant ce que tu demandes ... ou en asp.net il y a une source qui genere des .gif sur c2i.fr et une source de nix ici ...
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 4 mars 2004 à 18:36
Ok :) mais j'ai qd meme encore une question pourkoi as tu poster alors si un site traitant de l'asp ? et pas sur www.phpfrance.com et une autre crystal report c'est bien pour ASP.net ?
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 4 mars 2004 à 18:52
Ok pas grave mais je savais pas que crystal report c'etait aussi pour php, mais apparemment ce composant à l'air de faire beaucoup de truc il faudrais que je m'y interesse des que j'ai le temps :)
westman
Messages postés3Date d'inscriptionmardi 8 juin 2004StatutMembreDernière intervention13 janvier 2005 13 janv. 2005 à 12:11
A mon avis il faut simplement revoir la requête sql à la base pour intégrer par jointure externe toutes les tranches d''ages
Comme ça la requeête ramène 0 s'il n'y a rien
la solution est en amont du côté de la requête sql
Giganoob
Messages postés1Date d'inscriptionsamedi 5 février 2005StatutMembreDernière intervention 5 février 2005 5 févr. 2005 à 22:03
lu, je travaille depuis 2 ans sur crystal V9 et je n'ai jamais rencontré ce type de probleme
Attention, tu as un service pack associé à cette version l'as tu installé ?
A mon avis, s'il s'affiche pas c'est que c'est un problème lié à ta jointure car tu ne dois avoir d'enregistrement sur cette tranche de date.
Il faut alors aller dans le menu Expert base de données pour modifier ta jointure :)
Darkzombie
Messages postés12Date d'inscriptionlundi 1 mars 2004StatutMembreDernière intervention13 juillet 2005 7 avril 2005 à 17:28
Incroyable !
Je ne savais pas que mon message serait ressortis après un an ! :)
Pour vous tenir un peu au courrant, j'ai donc terminé mon projet mélangeant PHP et Crystal Report avec succès.
Concernant le problème de ce sujet, vous avez tous raison, il
s'agissait bien en effet d'un problème avec la requête SQL mais j'ai
finalement du utiliser une table PHP temporaire comme je l'ai expliquer
+ haut car je devais (en php) calculer d'autres données au préalable
concernant ce graphique d'âge (selon entre autre, le choix de
l'utilisateur sur le site et les données qu'il a lui même entré).
Je vous aurais bien proposé de visionner ce site mais vu que la société
où j'y avait fait mon stage de fin d'étude n'avait plus besoins que ce
site soit en activité, il n'est maintenant plus disponible.
Voilà, à tous, encore un grand merci pour votre aide !