Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Deski
Deski Forum d'entraide Deski (client lourd)
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 01/12/2010, 15h28   #1
Invité de passage
 
Inscription : décembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 6
Points : 1
Points : 1
Par défaut Alerteur sur cases vides

Bonjour,

J'ai un problème qui me fait m'arracher les cheveux.

J'ai un tableau croisé qui peut contenir des cases vides (pas NULL, mais vides : pour ces critères la requête SQL ne renvoie aucune donnée).
Je crée un alerteur sur la colonne, qui m'affiche les données sur un fond gris quand la valeur correspond à certains critères en ligne. Lorsqu'il tombe sur des cases vides, l'alerteur ne fonctionne pas et donc la case reste à blanc et vide.

Comment faire pour que l'alerteur fonctionne même sur des cases vides ?

Pour que çà soit plus clair, mon tableau ressemble à çà :

.........|col1|col2|col3
ligne 1|..10.|..20|
ligne 2|..11.|..21|
ligne 3|..12.|..22|
ligne 4|..13.|..23|..33

Mon alerteur doit afficher les cellules en gris lorsque le critère de la ligne 3 est vérifié.
Il fonctionne bien sur les colonnes 1 et 2 mais pas sur la colonne 3. (Il n'y a pas de valeur renvoyée par la requête SQL qui vérifie les critères de la colonne 3 et de la ligne 3).

J'espère avoir été assez clair et que quelqu'un pourra m'aider.

Merci d'avance.
jomakay10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2010, 15h50   #2
Responsable Business Intelligence
 
Avatar de TomDuBouchon
 
Homme Thomas Cochin
Consultant en Business Intelligence
Inscription : juin 2009
Messages : 3 273
Détails du profil
Informations personnelles :
Nom : Homme Thomas Cochin
Âge : 29
Localisation : France, Seine et Marne (Île de France)

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

Informations forums :
Inscription : juin 2009
Messages : 3 273
Points : 5 672
Points : 5 672
Bonjour,

A priori ta requête renvoie des null, car si elle renvoyait des valeurs vides, ton alerteur devrait fonctionner dessus (d'ailleurs, du vide sur du numérique ).

Ce que je te conseille, c'est de créer une variable qui te remplacera tes valeurs nulles par 0 :
Code :
=Si(EstNul(<indicateur>)) Alors 0 Sinon <indicateur>
et c'est cette variable qu'il faudra placer dans ton tableau.
__________________
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.
TomDuBouchon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2010, 15h58   #3
Invité de passage
 
Inscription : décembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 6
Points : 1
Points : 1
Merci de ta réponse rapide.

Non, çà ne fonctionne pas.

J'aurais du préciser dans ma demande. Lorsque j'utilise la fonction EstNul() sur mon indicateur, la fonction ne renvoie rien, ni 0 ni 1. (En tout cas dans le cas de ces cases, car lorsque le champ est renseigné, j'ai bien une valeur de retour, à 0 ou 1 puisque j'ai aussi des cas où la valeur est à NULL, et là effectivement çà ne pose pas de problème).

D'ailleurs, lorsque j'applique n'importe quelle fonction sur ces cases, je n'obtiens rien en retour.
jomakay10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2010, 16h07   #4
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
Ce phénomène est en fait expliqué :
Concrétement, un tableau croisé n'est que la transformation d'un tableau droit.
Lorsque tu as ton tableau droit, tu n'as pas la présence des cases vides puisqu'elles n'existent pas dans ton indicateur pour les dimensions données.
Lorsque tu passes à l'affichage en tableau croisé, BO comble les trous en mettant des cases vides ne contenant aucune valeur. Lorsque tu places ton alerteur, tu le places sur ton indicateur, mais celui ci n'est "détecté" que sur les cases en commun avec les cases de ton tableau droit.
La logique voudrait donc que l'alerteur s'applique à la ligne pour que ca fonctionne dans ton tableau croisé, mais DeskI ne sait pas le faire à ma connaissance.
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2010, 16h13   #5
Invité de passage
 
Inscription : décembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 6
Points : 1
Points : 1
Merci pour l'explication, c'est bien ce dont je me doutais.

Par contre, il n'y a donc aucun moyen de résoudre mon "problème" ?
jomakay10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2010, 16h22   #6
Responsable Business Intelligence
 
Avatar de TomDuBouchon
 
Homme Thomas Cochin
Consultant en Business Intelligence
Inscription : juin 2009
Messages : 3 273
Détails du profil
Informations personnelles :
Nom : Homme Thomas Cochin
Âge : 29
Localisation : France, Seine et Marne (Île de France)

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

Informations forums :
Inscription : juin 2009
Messages : 3 273
Points : 5 672
Points : 5 672
OK,

En fait la méthode que j'ai décrit devrait fonctionner si tu récupères tes informations via deux requêtes :

Il faut que dans ta première requête tu ramènes tes libellés de ligne et colonne. C'est d'ailleurs ces objets que tu mettras dans ton tableau.

Ensuite, il faut créer une seconde requête reprenant tous les éléments de ta requête actuelle. Il faudra ensuite lier les dimensions communes et placer seulement l'indicateur de cette requête dans ton tableau. Cela fait, BO générant un "cube" entre tes deux requêtes, il devrait te créer un null effectif pour les valeurs vides de ton indicateur.
__________________
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.
TomDuBouchon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2010, 17h01   #7
Invité de passage
 
Inscription : décembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 6
Points : 1
Points : 1
Ah, çà devient un peu plus technique pour moi là.

Je vais essayer et je vous tiens au courant. Mon autre problème est que mes lignes et mes colonnes sont nombreuses et sont déterminés à partir de plusieurs champs de la table. Cela risque de faire une grosse requête rien que pour récupérer les libellés.

J'avoue que je n'ai jamais lié de dimensions, donc çà risque d'être compliqué, mais j'ai confiance je vais m'en sortir.

Merci beaucoup en tout cas.
jomakay10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2010, 18h45   #8
Membre du Club
 
Inscription : décembre 2009
Messages : 90
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 90
Points : 45
Points : 45
Bonjour,

"Lorsque tu passes à l'affichage en tableau croisé, BO comble les trous en mettant des cases vides ne contenant aucune valeur"

C'est tout à fait ça

Pas d'alerteur possible ni de filtre sur ces cellules vides

Plutôt que de laisser vide, je vais en format de cellule/propriété/indéfini
et je tape par exemple "texte [Rouge]"

Et malheureusement mais c'est logique dans l'alerteur il ne propose pas le texte en variable

Cordialement
bailet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 11h26   #9
Invité de passage
 
Inscription : décembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 6
Points : 1
Points : 1
Citation:
Envoyé par TomDuBouchon Voir le message
OK,

En fait la méthode que j'ai décrit devrait fonctionner si tu récupères tes informations via deux requêtes :

Il faut que dans ta première requête tu ramènes tes libellés de ligne et colonne. C'est d'ailleurs ces objets que tu mettras dans ton tableau.

Ensuite, il faut créer une seconde requête reprenant tous les éléments de ta requête actuelle. Il faudra ensuite lier les dimensions communes et placer seulement l'indicateur de cette requête dans ton tableau. Cela fait, BO générant un "cube" entre tes deux requêtes, il devrait te créer un null effectif pour les valeurs vides de ton indicateur.
Comme je disais hier, je n'ai jamais lié de dimensions dans BO.
J'en suis donc à mon coup d'essai.

Comme tu disais donc, j'ai créé un deuxième tableau qui contient tous mes libellés de ligne et de colonne.
Les dimensions se sont liées automatiquement : Dans le gestionnaire de données, j'ai accès seulement au bouton Délier et non au bouton Lier à.

Par contre, je ne sais pas (ou comprends pas) quoi faire ensuite.

Peux-tu m'aider ?
jomakay10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 13h27   #10
Responsable Business Intelligence
 
Avatar de TomDuBouchon
 
Homme Thomas Cochin
Consultant en Business Intelligence
Inscription : juin 2009
Messages : 3 273
Détails du profil
Informations personnelles :
Nom : Homme Thomas Cochin
Âge : 29
Localisation : France, Seine et Marne (Île de France)

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

Informations forums :
Inscription : juin 2009
Messages : 3 273
Points : 5 672
Points : 5 672
OK, si les dimensions sont liées (même par défaut) c'est bon.

Il faut ensuite que dans ton tableau, tu utilises les libellés de ligne et de colonne de ta deuxième requête (celle qui ne contient que ça)
Ensuite, tu places dans le corps de ton tableau la formule suivante, basée sur l'indicateur de ta première requête :
Code :
=Si(EstNul(<indicateur>)) Alors 0 Sinon <indicateur>
__________________
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.
TomDuBouchon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 14h24   #11
Invité de passage
 
Inscription : décembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 6
Points : 1
Points : 1
Yes !!!!

Ca marche !

Un énorme merci ! C'est tout de même bête que l'outil ne puisse pas gérer çà de base.

Encore merci !
jomakay10 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 06h02.


 
 
 
 
Partenaires

Hébergement Web