|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Administrateur de base de données Inscription : juillet 2006 Messages : 109 ![]() |
Bonjour
je reformule ma question de façon plus generale: soit des ensemble E avec des sous ensemble SE dont le nombre est variable selon les ensembles. ces sous ensembles SE ont des defaillances... je veux faire un tableau matriciel global avec les ensembles E en lignes et les sous ensembles SE en colonnes les comptage de defaillances des sous ensembles N sont dans la matrice. certains sous ensembles existent mais ont des valeurs N nulles mais certains sous ensembles n'existent pas pour tel ou tel ensemble. et je voudrais pouvoir les discriminer par formatage comment faire ? EX CI DESSOUS X = inexistant SE1 SE2 SE3 SE4 SE5 SE6 E1 0 1 0 5 X X E2 4 2 1 1 1 X E3 0 0 X X 5 2 E4 1 0 4 X 4 5 E5 2 X X 0 1 0 |
|
|
00
|
|
|
#2 | ||
![]() Salim Développeur et DBA Oracle Inscription : octobre 2006 Messages : 872 ![]() |
Salut,
Code :
Peux-tu nous donner plus de détail? Si j'ai bien compris tu veux mettre 0 dans les cases null Peux-tu poster ta requête ? PS: j'ai vu un cas semblable |
||
|
|
00
|
|
|
#3 | ||||
|
Candidat au titre de Membre du Club
![]() Administrateur de base de données Inscription : juillet 2006 Messages : 109 ![]() |
Bonjour
non 0 signifie 0 defauts pour le poste existant par contre 'mettre une couleur de remplissage' signifie que la combinaison ligne colonne n'existe pas car le nombre de P n'est pas constant pour chaque L explications: les postes sont codés LxxPxx dans les tables postes et defauts avec jointure 1 à plusieurs sur poste_code=def_poste Code :
Code :
pour l'instant je code en dur dans le trigger de format les code_postes à griser (nombre malgré tout peu evolutif) mais je voulais savoir si on pouvait automatiser cette action |
||||
|
|
00
|
|
|
#4 |
![]() Salim Développeur et DBA Oracle Inscription : octobre 2006 Messages : 872 ![]() |
Salut,
C'est pas encore clair, pour un rapport matriciel t'a besoin d'une seule requete qui contient les lignes, les colonnes et les cellules. qu'elle sont tes lignes,colonnes et cellules ? |
|
|
00
|
|
|
#5 | ||
|
Candidat au titre de Membre du Club
![]() Administrateur de base de données Inscription : juillet 2006 Messages : 109 ![]() |
Code :
toutes les L n'ont pas autant de P je veux mettre en evidence les cellules count(def_code) ou P n'existe pas pour le L donné |
||
|
|
00
|
|
|
#6 | ||||||
![]() Salim Développeur et DBA Oracle Inscription : octobre 2006 Messages : 872 ![]() |
salut,
Qu'elle est ta version d'oracle ? Si tu as la 9i tu peux essayer ça (-1) pour les cellules : P n'existe pas ou L n'existe pas Code :
Code :
Exemple si j'ai dans ma table postes les enregistrement suivants : L01P01 L01P02 L02P01 L02P02 L02P03 Résultat de la sous-requête : L P 01 01 01 02 01 03 02 01 02 02 02 03 Dans ton rapport Tu mets une couleur de remplissage grise pour les cellules = -1 Résultat de la requête Code :
|
||||||
|
|
00
|
|
|
#7 | ||||
![]() Salim Développeur et DBA Oracle Inscription : octobre 2006 Messages : 872 ![]() |
Salut,
J'ai modifié la requete : remplacer le -1 par NULL Code :
voir la figure suivante Pièce jointe 23488 Code :
Pièce jointe 23487 |
||||
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Administrateur de base de données Inscription : juillet 2006 Messages : 109 ![]() |
merci pour la solution
j'ai oracle report 6i et oracle 8.1.7 oracle accepte la syntaxe mais visiblement pas report erreur 'no parsing' |
|
|
00
|
|
|
#9 | ||||
![]() Salim Développeur et DBA Oracle Inscription : octobre 2006 Messages : 872 ![]() |
Voici une solution pour la version 8i avec un group by à la place de la fonction analytique count() over
Code :
Code :
|
||||
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Administrateur de base de données Inscription : juillet 2006 Messages : 109 ![]() |
merci
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com