|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 18 ![]() |
Bonjour,
Voici mon soucis pour la conception d'un univers. J'ai besoin d'avoir une dimension numéro de semaine pour mes rapports. J'ai donc pensé à créer une table dérivée calendrier avec une requete SQL DB2 qui fonctionne correctement : Code :
"Chaque colonne calculée doit porter un nom explicite" J'ai vu dans la FAQ que cela marchait bien avec une requete oracle. Si quelqu'un a une solution pour DB2. Merci |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Bonjour. Je dirais que ta question doit aller dans le forum BO, ici c'est le forum général.
Sinon pour ton problème, je dirais qu'il faut essayer sans le WITH, je ne suis pas sûr que XI l'autorise dans les tables dérivées (je me demande quelle allure a la requête s'il l'autorise). Et dans ce cas nomme bien chaque colonne, même dans la sous-requête.
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 18 ![]() |
Ok, alors il faut surtout que j'aille dans le forum DB2 pour trouver comment faire une requete récursif sans utiliser de with.
c'est pas gagné |
|
|
00
|
|
|
#4 | |
![]() ![]() Consultant en Business Intelligence Inscription : juillet 2008 Messages : 950 ![]() |
Hello,
Citation:
C'est plus un problème BO que DB2 si tu dis que ta requête marche sous DB2. Donc j'ai déplacé la discussion dans BO/Designer. Le SQL généré est ok ? Tu l'as testé ? Hum, je vais trop vite ... Il faut aliaser les colonnes de ton sql, sous oracle par exemple tu fais pour avoir les colonnes nommées a et b. Sous DB2 je ne sais pas comment tu fais ? un as ? |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 18 ![]() |
Salut Doc,
En effet designer attendait un alias en utilisant le "AS" pour les champs calculés, mais une fois ce détail corrigé je me fais de nouveau jeté par designer. Le message est "une marque innatendue 'AS' figure à la suite de ,numsemaine)" C'est pourquoi j'en avais conclu que designer n'aimais pas que l'expression SQL ne commence pas par un select mais avec un with. Sinon mon sql est testé et ok sous db2 Merci |
|
|
00
|
|
|
#6 | ||
![]() ![]() Consultant en Business Intelligence Inscription : juillet 2008 Messages : 950 ![]() |
Le WITH ne devrait pas marcher dans Designer, nuke a raison.
On essaye avec une ligne : Code :
( Sous BO et DB2 ) |
||
|
00
|
|
|
#7 | ||
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Bonjour,
L'utilisation du WITH n'est absolument pas un problème... Je l'ai souvent utilisé pour générer des tables temporaires à utiliser directement dans la table dérivée (sous Oracle) Essaies donc de ne pas spécifier de nom pour tes colonnes avant ton AS. La table temporaire reprendra les en-têtes utilisées dans la requête la générant. Donc, en reprenant tes libellés : Code :
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
||
|
00
|
|
|
#8 | |||
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 18 ![]() |
Citation:
Mais quoi qu'il en soit si je vire le UNION ALL pour avoir un code sql valide Code :
"une marque innatendue 'AS' figure à la suite de calend_temp" avec ce simple select pas de problème pour db2 et designer J'ai finis par opter pour la création d'une vue mais j'aimerai bien trouver la solution via SQL, je vais donc continuer à chercher Merci de votre aide |
|||
|
|
00
|
|
|
#9 | ||
![]() ![]() Consultant en Business Intelligence Inscription : juillet 2008 Messages : 950 ![]() |
Salut Tom,
Citation:
Hum, je ne vois pas l'intérêt du WITH dans ta requête, tu reprends les mêmes colonnes que la sous-requête ... Citation:
|
||
|
00
|
|
|
#10 | |
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 18 ![]() |
Citation:
J'ai donc pour cela besoin d'une requete recursive, d'où l'utilité du WITH. à moins que j'ai loupé une solution plus simple Merci |
|
|
|
00
|
|
|
#11 |
![]() ![]() Consultant en Business Intelligence Inscription : juillet 2008 Messages : 950 ![]() |
Ok j'ai compris ce que tu voulais faire.
Je ne connais pas DB2, mais sous Oracle une telle requête est impossible car tu références dans le sous-select du WITH la table que tu crées via le WITH. Est-ce là le problème ? |
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 18 ![]() |
Sous DB2 une telle requete est possible et je te confirme qu'elle fonctionne bien mais designer n'en veut pas.
Avec oracle le connect by fonctionne bien avec designer mais il n'y a pas d'équivalent db2 |
|
|
00
|
|
|
#13 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Pour ton erreur de syntaxe, essaies de préciser le nom de la table temporaire après sa définition :
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 18 ![]() |
j'avais essayé cette solution, je crois avoir essayé la plupart des combinaisons de syntaxe mais une seule reste valide
|
|
|
00
|
|
|
#15 |
![]() ![]() Consultant en Business Intelligence Inscription : juillet 2008 Messages : 950 ![]() |
Bizarre
...Je ne sais pas comment BO valide le sql d'une table dérivée. Il me semblait qu'il faisait juste un Code :
SELECT * FROM ( SQL TABLE Dérivée ) WHERE 1=0 |
|
00
|
|
|
#16 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Quelle est l'erreur renvoyée lorsque tu testes la dernière syntaxe que je t'ai proposée ?
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 18 ![]() |
A character, token, or clause is invalid or missing.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com