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 07/11/2006, 20h57   #1
Invité de passage
 
Inscription : septembre 2006
Messages : 13
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 13
Points : 2
Points : 2
Par défaut une p'tite facile.

Bonjour, j'ai deux tables avec les champs suivant qui repésentent des longueurs de forage de mine (lié par le champs ID):

Table 1

ID____Début____Fin
1______40_____42
2 _____50______52


Table 2

ID_____Début_____Fin
1______39.5______41
2_______55_______57

Existe-t-il une formule dans crystal qui me permettra d'affrimer:

VRAI: Le range de la table 1 (40 à 42) touche au range de la table 2 (39.5 à 41)
FAUX: Le range de la table 1 (50 à 52) ne touche pas au range de la table 2 (55 à 57)

Merci, n'hésitez pas à me demander de clarifier ma question si vous comprenez mal mon problème!!!!
Frédérico Vincento est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2006, 21h52   #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
Si j'ai bien compris le problème, je ne comprend pas l'utilisation de 2 tables différentes...
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2006, 10h05   #3
Invité de passage
 
Inscription : octobre 2006
Messages : 8
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 8
Points : 3
Points : 3
Oui effectivement un peu plus d'explication serai le bienvenue.
manytime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2006, 20h00   #4
Invité de passage
 
Inscription : septembre 2006
Messages : 13
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 13
Points : 2
Points : 2
Par défaut Plus de détail

Si j'utilise plus d'une table c'Est que c'est un peu plus compliqué que l'explication que je viens de donner. Pour le ID #1 de la table 1, j'ai un lien de 1 à plusieurs avec la table 2.

Donc, en vrai voici ce que ça donne:

Table 1

ID________DEBUT________FIN
1_________40___________42
2__________50___________52


En lien par le champs ID avec la table 2:

ID________DEBUT_________FIN
1__________39.5__________41
1__________45____________47
1__________50____________52
2__________55____________57
2__________60____________62


Les valeurs DÉBUT et FIN représente un échantillon qui a été pris sur une longueur totale de 100 mètres par exemple. Donc, dans ma table 1, sur un forage total de 100 mètre, un échantillons de 2 mètres de long (entre 40 et 42 mètres) à été pris (ID1).

La table 2 représente les endroits où il y a de l'or le long de ce forage. Donc, le long de ce même forage, on retrouve de l'or entre 39.5 et 41 mètre, 45 et 47 mètres et 50 et 52 mètres.

Je veux maintenant éliminer toute les valeurs d'échantillon de la table 1 ou on ne retrouve pas d'or par rapport à la table 2.

Donc, on retrouve de l'or dans l'échantillon 1 de la table 1 (ID1) puisque ma table 2 me dit qu'il y a de l'or entre 39.5 et 41. Par contre, on ne retrouve pas d'or dans l'échantillon 2 de la table 1 (ID2) car on ne retrouve pas d'or dans la table 2 (seulement entre 55-57 et 60-62).

Solution temporaire: jusqu'a date la seule solution que j'.ai trouvé est de créer un nouveau champs dans la table 1 qui donne une moyenne de chaque ID. La table ressemble a ceci:

Table 1

ID________DEBUT________FIN_______moyenne
1_________40___________42_________41
2__________50___________52_________51

et j'applique la formule suivante:

iif ({table1.moyenne}>{table2.DÉBUT} and {table1.moyenne}< {table2.FIN}, 1, 0)



1=vrai
0=faux

Dans mon expert sélection je ne garde que ce qui est = 1

Malgré tout, certaine données extrêmes m'échappe. J'aimerais avoir une formule qui m'éviterai d'utiliser une moyenne.

Encore, une fois, je peux mettre encore plus de précision... Merci de votre aide...
Frédérico Vincento est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2006, 23h01   #5
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
Bonsoir,

Si j'ai bien compris (en tout cas, c'est très bien expliqué ;-)
Avec le système des moyennes, ta formule n'est pas forcément pas bonne.

En effet, pour les 2 exemples d'échantillons que tu nous a donné dans ta table 1, ta formule renverra 0.
Pour l'ID 1, la moyenne est de 41 et n'est donc pas INFERIEURE à 41 mais égal.

Sinon, je ne sais pas ce qui peux t'aider.. Peut-être un truc du genre IS IN

Adrien
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2006, 16h09   #6
Invité de passage
 
Inscription : septembre 2006
Messages : 13
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 13
Points : 2
Points : 2
Par défaut C'est ça le probleme.

Et voila le problème... Je vais chercher dans ce sens... En attendant, si quelqu'un pourrait me donner des indices, j'en serais bien heureux!!!
Frédérico Vincento est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2006, 16h30   #7
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 pas trop...

Tu as essayé en 1er lieu ?

Code :
1
2
3
4
5
IF ({table1.DEBUT}>{table2.DEBUT}AND {table1.DEBUT}<{table2.FIN})then 1
else
IF ({table1.FIN}<{table2.FIN}AND {table1.FIN}>{table2.DEBUT})
then 1
else 2
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2006, 16h30   #8
Invité de passage
 
Inscription : septembre 2006
Messages : 13
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 13
Points : 2
Points : 2
Par défaut hé ben

Hé ben... j'y avais pas pensé à celle là... Je vais esayer pour voir...
Frédérico Vincento est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2006, 16h41   #9
Invité de passage
 
Inscription : septembre 2006
Messages : 13
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 13
Points : 2
Points : 2
Par défaut Finalement non

J'ai essayé cette formule et ma solution d'utiliser une moyenne me permet d'être plus proche de la réalité (sans toutefois l'atteindre.. d'ou mon problème.. ). En effet, lorsque mon échantillon de ma table 1 est de 39 à 44 par exemple et que ma teneur en or de ma table 2 est de 40 à 43, le ID de la table 1 est éliminé car:

39 > 40 and 39 < 43 ---- FAUX
44 > 40 and 44 < 43 ----FAUX


Tandis qu'en utilisant la moyenne de 39 à 44:

41.5 > 40 and 41.5<43 --- VRAI

Ouf... Pas si simple comme problème finalement....
Frédérico Vincento est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2006, 15h39   #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
Salut,

Je viens de relire ton dernier message et je te demande de réessayer ma formule.. En effet, tu as inversé les tables de ma formule, et si tu vérifie, et bien cela fonctionne.

Tiens moi au courant
Aitone 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 14h48.


 
 
 
 
Partenaires

Hébergement Web