Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Reports
Reports Forum d'entraide sur Oracle 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 14/12/2004, 14h41   #1
Membre du Club
 
Inscription : août 2003
Messages : 75
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 75
Points : 42
Points : 42
Envoyer un message via ICQ à Aeternus Envoyer un message via AIM à Aeternus Envoyer un message via MSN à Aeternus Envoyer un message via Yahoo à Aeternus
Par défaut Problème de fréquence incompatible dans un Report

Salut à tous voici mon probleme.

Je dispose d'une table LOT avec comme attribut : une quantité totale et un numero de produit. Ce produit est décrit par une table PRODUIT (avec son nom et d'autres attributs) et une recette dans la table RECETTE très simple contenant ID_Produit concerné, ID_Prod_A (les id_produit des produits le composant) et un pourcentage.

Nous aurions donc pour le produit numéro 101 par exemple dans la table RECETTE
101 - 11 - 20%
101 - 12 - 80%
...

l'idée est d'afficher un rapport avec le numéro du LOT que l'on veut produire, sa quantité totale, le nom du produit décrivant ce lot et ensuite la recette : cad le nom du produit désigné par ID_Prod_A dans la table recette et le poids necessaire calculé par la quantité totale du lot * le pourcentage de la table RECETTE

je passe en argument de ma form vers le report la QTE et avec la requète suivante dans le rapport je crée mon table avec les ID_produit, le NOM et le % es produits nécessaire a la fabrication du lot désiré.

Code :
SELECT Recette.ID_Prod_A, Recette.RQte, Produit.PNom FROM Recette, Produit WHERE Recette.ID_Produit = :PF_ID_PRODUIT AND Produit.ID_Produit = Recette.ID_Prod_A
Tout marche bien mais lorsque que je veux afficher non plus le pourcentage mais le poids a prélever : je crée une formule dans le rapport et je fais un return (QTE*POURCENTAGE)/100.

Et la a la compilation du rapport cela me dit la colonne POIDS (le champ que je viens de creer) fait reference à la colonne POURDENTAGE et la colonne QTE qui a une fréquence incompatible...


Effectivement ya t'il moyen de faire autrement? Dans la requete directement je suppose? Je veux juste une direction a prendre, merci d'avance
Aeternus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2004, 15h05   #2
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
De manière générale tu peux lire les informations d'un niveau inférieur et pas celles d'un niveau supérieur

Je n'ai pas tout compris à la conception de ton report, mais si tu souhaites calculer le poids à partir d'un élément passé en paramètre et d'un élément appartenant au groupe de ta requête, ton champ formula doit être à l'intérieur du groupe de ta requête.

Je ne suis pas sûr d'avoir été très clair...

En bref, si ton pourcentage est un paramètre de ton report et que la quantité est une colonne de ta requête, ton formula POIDS doit être dans le même groupe que la quantité.

Sinon, tu peux également le calculer dans ta requête, cela revient au même, c'est même sans doute mieux au niveau perf.
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2004, 15h13   #3
Membre du Club
 
Inscription : août 2003
Messages : 75
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 75
Points : 42
Points : 42
Envoyer un message via ICQ à Aeternus Envoyer un message via AIM à Aeternus Envoyer un message via MSN à Aeternus Envoyer un message via Yahoo à Aeternus
J'ai bien compris ce que tu voulais dire Mais je ne trouvais pas le moyen de placer le formula dans le meme groupe que les elements de ma requete.

En fait c completement débile de ma part : je cliquais sur le bouton formula puis je placais ma formule seule dans la conception des requetes/liaisons plutot que de cliquer directement dans mon groupe. Ce que je viens de faire et la formula se place alors automatiquement dans le groupe et je n'ai plus cette erreur là...

Quel naïf je fais

Sinon en créant le poids calculé dans la requete elle meme ca serait mieux tu dis? Je devrais pe me pencher la dessus
Aeternus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2004, 15h18   #4
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Si c'est faisable simplement oui c'est sans doute mieux, mais pour un calcul aussi simple je ne suis pas persuadé que cela changera grand chose.
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2004, 15h19   #5
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Il y a des chances que ce soit mieux effectivement, Reports étant particulièrement mauvais en calcul

J'ai du optimisé des reports dans ma jeunesse , en fait j'ai fait des procédures qui faisait toutes les opérations dans les selects et qui stockait le résultat dans des tables de travail. Les reports n'avaient plus qu'à faire un SELECT * de tables et formater le résultat... et bien les temps sont passés de plus de 5h à 15minutes pour un résultat strictement identique
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2004, 15h34   #6
Membre du Club
 
Inscription : août 2003
Messages : 75
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 75
Points : 42
Points : 42
Envoyer un message via ICQ à Aeternus Envoyer un message via AIM à Aeternus Envoyer un message via MSN à Aeternus Envoyer un message via Yahoo à Aeternus
Merci à tous les deux le problème est résolu youpiiii

Je mettrai le calcul du poids dans la requete une fois que le projet sera compeltement fini pour m'entrainer parce que comme l'a dit PlaineR le calcul est très simple et en fait ya maximum 10 a 15 produit dans la recette : la création de ce rapport est particulierement rapide : je ne m'en fais pas de ce côté là....

Mais en tk merci à vous deux il ne me reste plus que ce très très étrange probleme de police de caractère dans mes rapport PDF a résoudre et mon projet sera fini...

Bye

EDIT : posté en meme temps que PlaineR
Aeternus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2004, 15h34   #7
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Citation:
Envoyé par orafrance
en fait j'ai fait des procédures qui faisait toutes les opérations dans les selects et qui stockait le résultat dans des tables de travail. Les reports n'avaient plus qu'à faire un SELECT * de tables et formater le résultat... et bien les temps sont passés de plus de 5h à 15minutes pour un résultat strictement identique
Idem , pour toutes les éditions compliquées, nous avons optés pour ce type de solution. Comme quoi, les grands esprits se rencontrent

Par contre pour ce que veut faire Aeternus, je pense que report devrait réussir à s'en sortir !
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR 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 17h37.


 
 
 
 
Partenaires

Hébergement Web