Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Designer
Designer Forum d'entraide Designer (création d'univers, etc.)
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 30/11/2011, 15h37   #1
Modérateur
 
Avatar de djam21
 
Homme
Consultant en Business Intelligence
Inscription : janvier 2006
Messages : 560
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Luxembourg

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Finance

Informations forums :
Inscription : janvier 2006
Messages : 560
Points : 862
Points : 862
Envoyer un message via Skype™ à djam21
Par défaut Auto-jointure externe sur SQL server

Hello !

Sur le Designer utilisant une DB Oracle, on peut créer une condition du genre : maTable.monChamp(+) = "valeur"

Comment puis-je faire l'équivalent avec une DB MS SQL Server ? Si c'est possible...

Thanks...
djam21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 15h29   #2
Membre actif
 
Homme
Chef de projet NTIC
Inscription : octobre 2011
Messages : 136
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : Santé

Informations forums :
Inscription : octobre 2011
Messages : 136
Points : 162
Points : 162
Bonjour,

Oui c'est tout à fait possible, il faut pour cela modifier un paramètre de l'univers
ANSI92=YES

il me semble que cela devrait suffire (en tout cas ça à fonctionner pour moi)

En fait cela va ré-écrire les requêtes SQL avec du left outer join ou du right outer join.

Si ça ne marche pas, quelle est la version de sql serveur?

bon courage
Prima est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 15h43   #3
Modérateur
 
Avatar de djam21
 
Homme
Consultant en Business Intelligence
Inscription : janvier 2006
Messages : 560
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Luxembourg

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Finance

Informations forums :
Inscription : janvier 2006
Messages : 560
Points : 862
Points : 862
Envoyer un message via Skype™ à djam21
C'est avec beaucoup d'espoir que j'ai tenté ta solution, mais malheureusement il n'y a aucun changement... il ne reconnait toujours pas le (+)...

Si je te dis que la version de SQL Server c'est : 10.50.1790...
Ca te parle ???

Apparemment c'est la "2008 R2 + Q2494086"... (source Google)
djam21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 16h30   #4
Membre chevronné
 
Avatar de NorocBzh
 
Homme
Développeur décisionnel
Inscription : juin 2008
Messages : 510
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Développeur décisionnel
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 510
Points : 694
Points : 694
Citation:
Envoyé par djam21 Voir le message
C'est avec beaucoup d'espoir que j'ai tenté ta solution, mais malheureusement il n'y a aucun changement... il ne reconnait toujours pas le (+)...
Salut,

Le fait de passer en ANSI92=Yes permet de ne plus afficher ce "+" justement. Si tu le met manuellement, il ne va pas aimer.
Par contre, si tu fais ta jointure normale, et que tu coches "Jointure externe", ça devrait être bon je pense.

A propos du "+" pour les jointures externes, il est déconseillé de l'utilisé, il n'est plus au normes SQL à ce qu'on m'a dit. Il faut utiliser les LEFT/ RIGHT OUTER JOIN...
NorocBzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 16h51   #5
Modérateur
 
Avatar de djam21
 
Homme
Consultant en Business Intelligence
Inscription : janvier 2006
Messages : 560
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Luxembourg

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Finance

Informations forums :
Inscription : janvier 2006
Messages : 560
Points : 862
Points : 862
Envoyer un message via Skype™ à djam21
Sauf que ce n'est pas une jointure que je souhaite faire... mais une condition...

Condition : Where = MaTable.MonChamp(+) = 'valeur'

Ceci permet de filtre sur la valeur + les lignes qui n'existe pas dans la table MaTable...

Avec une DB Oracle, en cochant "jointure externe", il rajoute ce "+"... Donc çà doit être encore permis avec Oracle...
djam21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 17h25   #6
Membre actif
 
Homme
Chef de projet NTIC
Inscription : octobre 2011
Messages : 136
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : Santé

Informations forums :
Inscription : octobre 2011
Messages : 136
Points : 162
Points : 162
oui il ne faut pas rajouter ce (+) qui n'est plus un paramètre reconnu.
l'autre solution si tu veux absolument utiliser ce paramètre et de changer une variable sur ton sql server pour le passer en interprétation sql server 2000 mais je pense que tu vas y perdre au change...

Tu as essayé d'enlever le (+) mais en laissant MaTable.MonChamp = 'valeur' ?

Je vais peut être dire une ânerie je ne connais pas ton modèle mais pourquoi tu ne fais pas juste un filtre ? je ne vois pas trop la jointure là... pour moi il s'agit juste d'une condition de filtrage
Prima est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 17h42   #7
Modérateur
 
Avatar de djam21
 
Homme
Consultant en Business Intelligence
Inscription : janvier 2006
Messages : 560
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Luxembourg

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Finance

Informations forums :
Inscription : janvier 2006
Messages : 560
Points : 862
Points : 862
Envoyer un message via Skype™ à djam21
C'est une condition == filtre... Ce n'est pas une jointure...

En gros çà me permet de récupérer uniquement les lignes correspondant à ma valeur plus les lignes sans correspondance dans la table...

Celles qui ont une valeur correspondante dans la table mais pas la valeur souhaitée sont rejetées..

Dans tous les cas vive Oracle...
djam21 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 00h49.


 
 
 
 
Partenaires

Hébergement Web