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 28/06/2011, 15h26   #1
Invité de passage
 
Inscription : mai 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 8
Points : 1
Points : 1
Par défaut Filtre Prédéfinie en ANSI92

Bonjour,

Un client m'oblige à travailler en ANSI92 pour la création des univers mais je constate que les filtres prédéfinis (où il y a des sous requêtes) ne sont pas générés en ANSI92. Ce qui me pose des problèmes de temps de réponse fortement dégradés. Le mix avec de l'ancien SQL et de l'ansi92 ne font pas bon ménage.
Est qu'il y a possibilité de tous avoir dans le "From" même avec les conditions du filtre ? Si non comment avez vous contourné la problématique ?

Merci de votre aide
syma1982 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 10h45   #2
Invité de passage
 
Inscription : mai 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 8
Points : 1
Points : 1
Bonjour,

Je viens de trouver une solution à mon problème. Pour les simples, vous pourrez utiliser l'option "Filter in from" à "Yes"
Les filtres complexe (i.e : filtre avec des sous requêtes), il vous faudra créer une vue.

Voici un exemple :

Voici la requête sans la modif :

Code :
1
2
3
4
SELECT *
FROM TABLE 1 
LEFT OUTER JOIN TABLE 2 ON (xxx)
WHERE ( PS_ING_ILC_PRO_ONL.ING_ILC_PROGRSS_ID = (SELECT MAX(A.ING_ILC_PROGRSS_ID) FROM PS_ING_ILC_PRO_ONL A WHERE A.ING_ILC_ONL_ID = PS_ING_ILC_EMP_SES.ING_ILC_ONL_ID AND A.ING_ILC_ONL_SES_ID = PS_ING_ILC_EMP_SES.ING_ILC_ONL_SES_ID AND A.ING_ILC_EMPLID = PS_ING_ILC_EMP_SES.ING_ILC_EMPLID) )
Voici la requête avec la modif :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT *
FROM TABLE 1 
LEFT OUTER JOIN TABLE 2 ON (xxx)
LEFT OUTER JOIN (SELECT ING_ILC_ONL_ID
, ING_ILC_ONL_SES_ID
, ING_ILC_EMPLID
, MAX(ING_ILC_PROGRSS_ID) AS ING_ILC_PROGRSS_ID
FROM PS_ING_ILC_PRO_ONL
GROUP BY ING_ILC_ONL_ID
, ING_ILC_ONL_SES_ID
, ING_ILC_EMPLID
) A ON ( A.ING_ILC_ONL_ID = PS_ING_ILC_EMP_SES.ING_ILC_ONL_ID
AND A.ING_ILC_ONL_SES_ID = PS_ING_ILC_EMP_SES.ING_ILC_ONL_SES_ID
AND A.ING_ILC_EMPLID = PS_ING_ILC_EMP_SES.ING_ILC_EMPLID) 
WHERE A.ING_ILC_PROGRSS_ID = PS_ING_ILC_PRO_ONL.ING_ILC_PROGRSS_ID
J'espère que ça vous sera utile en temps voulu.

@+
syma1982 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 02h19.


 
 
 
 
Partenaires

Hébergement Web