|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() |
Bonjour à tous,
je bloque sur la réalisation de compteur sur un univers en création : les tables : DOSSIER(numdos, numop1, numop2) OPERATION(numop, numdos, date1, date2, date3) Les numdos et numopX sont les clées primaire, secondaire selon la tables. Dans les faits : pour 1 dossier je peu avoir 0,1 ou 2 opérations. Les dates corresponde aux étapes a compter et pour 2 opérations d'un même dossiers les dates peuvent être différentes (on a convenu qu'il faut utiliser la plus récente pour mes compteurs) Mon travail : Créer des compteurs Nb dossier à l'etape1, 2 et 3 pouvant être affiché dans un même tableau... en testant plusieurs configurations de jointure (par numdos ou numopX), plusieurs methode de comptage(cout over, indiquateur nombre, etc) je n'arrive pas a créer des compteurs valides sur les dates par dossier. Ex : avec jointure par numdos : nb etape1 : count(distinct(dossier.numdos) over (partition by (operation.date1)) cette exemple me retourne une erreur dans Desk quand j'intégre 2 compteurs nb etape1 : count(distinct(dossier.numdos)) WHERE operation.date1 IS NOT NULL cette fois les clause where s'ajoute et j'ai le même nombre dans chaque colonnes... ![]() la seul méthode que je n'ai pas encore testé c'est de réaliser une table dérivé via une grosse grosse recette SQL... quelqu'un peu m'aider sur ce casse tête? svp Merci d'avance. |
|
|
00
|
|
|
#2 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Bonjour,
Etant donné votre jointure, j'imagine que vous êtes sous Oracle. Donc, le mieux à faire je pense est de créer une jointure externe entre les tables DOSSIERS et OPERATIONS sur numdos et numop1 avec numop. Ensuite, refaire le même type de jointure entre DOSSIERS et un alias de la table OPERATIONS sur numdos et numop2 avec numop. Ensuite, dans l'objet j'utiliserais un decode() pour tester les différentes valeurs de date et ramener l'étape correspondante.
__________________
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
|
|
|
#3 |
|
Futur Membre du Club
![]() |
Merci,
Je vais tester cette méthode de suite. |
|
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() |
petite question au niveau des jointures :
je doit réaliser une jointure complexe ou 2 jointures par table/alias d'opération? |
|
|
00
|
|
|
#5 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Personnellement je préfère mettre toutes les égalités dans une même jointure... Mais ça revient au même.
__________________
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
|
|
|
#6 | ||
|
Futur Membre du Club
![]() |
Alors, j'ai intégrer 2 jointures 'simple' juste avec numope. quand j’intègre les 2 clée, je ne peu pas faire de jointure externe.
et pour mes compteurs j'ai utilisé un case plutot qu'un decode : Code :
Merci |
||
|
|
00
|
|
|
#7 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Juste pour info :
Dans le cas d'un jointure à plusieurs égalités, on ne peut pas cocher la case "jointure externe" mais on peut le faire quand même en utilisant l'ancienne syntaxe. Ex : Code :
TABLE1.CHAMP1 = TABLE2.CHAMP1(+) AND TABLE1.CHAMP2 = TABLE2.CHAMP2(+) Par contre effectivement, il n'est pas possible de mettre plusieurs conditions dans un decode(). Mais on peut en général s'en sortir avec une imbrication de decode()
__________________
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. |
|
10
|
|
|
#8 |
|
Futur Membre du Club
![]() |
ha...
si je peu pas utiliser mon objet dans une condition je suis mal! Et imbriquer les decode() va bien m'aider dans ce cas la. mais du coup je vais devoir 'doublonner' mes autres tables (4 en tous) qui sont liée avec operation. PS : pour mes jointures je vais les laisser tel quel. Mes testes me trouve le même résultat avec 1 ou 2 égalités. Et encor merci. |
|
|
00
|
|
|
#9 |
|
Membre émérite
![]() Inscription : septembre 2006 Messages : 815 ![]() |
Pour les jointures externe, je crois qu'il y a un moyen de contournement pour les jointures externes complexes (sur plusieurs colonnes ou avec @prompt), il faut
- cocher 'jointure externe' en selectionnant juste une colonne de chaque table - ensuite coller ou taper le SQL de la jointure complexe, multi-colonne => il doit garder la case jointure externe cochée et la griser ;-) enfin ça marché chez moi en XIR2/DB2
__________________
~~ bastoonet ~~ "Team BAB - Spécialistes BO" |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com