Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Deski
Deski Forum d'entraide Deski (client lourd)
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 21/11/2007, 19h02   #1
Invité de passage
 
Inscription : novembre 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 3
Points : 1
Points : 1
Par défaut [BO 6.5] Utilisation d'une table sans jointure ?

Bonjour,

Je débute avec BO, et je me demande si ce qui suit est faisable.

Nous maintenons une table (MySQL) avec une seule ligne contenant un certain nombre de paramètres (paramètres que nous modifions à la main).
J'ai besoin de ces paramètres pour faire certaines jointures dans mon univers (par exemple, récupérer le paramètre "dateDeReference" pour une clause "where date = dateDeReference").

Ma table de paramètres n'a évidemment aucun lien avec les autres tables de mon univers, elle n'a aucune jointure. Mais dans ce cas, je ne peux pas utiliser mes champs paramètres dans mes jointures...

J'ai donc trois questions liées
1°) Est-ce possible ?
2°) Si oui, comment dois-je procéder ?
3°) Si non, y a-t-il moyen d'utiliser un fichier de paramètres (fichier txt, xls ou autre) ?

Merci d'avance pour vos réponses.
NKC78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2007, 19h31   #2
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Bonsoir NKC78,
1) La réponse est OUI.

2) Une fois importée ta table PARAMETRES

Tu peux faire une jointure avec le champ qui contient la date de référence
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
WHERE MATABLE.LADATE = PARAMETRE.dateDeReference
 
Mais encore (je suppose que tu AS droit au BETWEEN dans MySQL 
je ne fais que de l'Oracle)
 
WHERE PARAMETRE.dateDeReference between MATABLE.DATEDEBUT and MATABLE.DATEFIN
 
Tu peux même en associer plusieurs
WHERE
MATABLE.LADATE = PARAMETRE.dateDeReference
AND
MATABLE.DUREEMAX = PARAMETRE.DurééMaximum
SEUL CONTRAINTE :
si tu veux utiliser ces jointures avec PARAMETRES sur deux tables
  • ayant des jointures entre elles ils te faut créer un alias PARAMETRES2
  • Mais si elles n'ont aucune jointure entre elles elles peuvent s'appuyer toutes les deux sur une seule Table PARAMETRES à condition que la présence de boucles éventuelles (faire un test d'intégrité) fasse l'objet d'une résolution par les contextes.
Mais c'est une autre histoire ....
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 09h39   #3
Invité de passage
 
Inscription : novembre 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 3
Points : 1
Points : 1
J'ai bien essayé de faire ça, mais ça ne marche pas, j'ai une erreur "unknown column 'maTable.maDate' in 'where clause'"
NKC78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 10h03   #4
Candidat au titre de Membre du Club
 
Inscription : septembre 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 18
Points : 10
Points : 10
Si tu ne veux pas créer de jointure dans ton univers, tu peux utiliser une sous-requête:
Condition avec un "dans" et utiliser une sous requête.
greg543 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 10h14   #5
Membre émérite
 
Avatar de Ayana
 
Inscription : décembre 2005
Messages : 901
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 901
Points : 900
Points : 900
Code SQL :
1
2
3
4
5
6
SELECT date
FROM taTable
WHERE taDate=(
       SELECT dateReference
       FROM tableParametre
)

ou

Code :
1
2
3
4
5
6
SELECT date
FROM taTable
WHERE taDate IN (
       SELECT dateReference
       FROM tableParametre
)
__________________
--= Ayana =--
Modératrice B.I.

Règles du forum BO

Team BAB - Spécialistes BO

Rubrique BI de developpez.com
Ayana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 10h36   #6
Candidat au titre de Membre du Club
 
Inscription : septembre 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 18
Points : 10
Points : 10
Je viens de me rendre compte que la base utilisée était MySQL.
Est-ce que la version utilisée supporte les sous requêtes?

Sinon, merci à Ayana pour la clarification de mon explication
greg543 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 11h11   #7
Invité de passage
 
Inscription : novembre 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 3
Points : 1
Points : 1
Oui, MySQL supporte bien les sous-requêtes, et là ça marche

Merci à tous pour votre aide.
NKC78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 11h38   #8
Membre émérite
 
Avatar de Ayana
 
Inscription : décembre 2005
Messages : 901
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 901
Points : 900
Points : 900
Un petit clic sur Résolu, merci
__________________
--= Ayana =--
Modératrice B.I.

Règles du forum BO

Team BAB - Spécialistes BO

Rubrique BI de developpez.com
Ayana 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 01h18.


 
 
 
 
Partenaires

Hébergement Web