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 16/01/2012, 11h13   #1
Invité de passage
 
Homme Julien Garnier
Consultant informatique
Inscription : janvier 2012
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Julien Garnier
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : janvier 2012
Messages : 6
Points : 0
Points : 0
Par défaut Problème comparaison #EMPTY

Bonjour à tous,

Je bosse actuellement sur un univers.
J'ai besoin de calculer un nombre de conjoints et d'enfants pour chaque foyer.
Ca c'est ok : je fais un COUNT(AS_LIEN_INDIV_CONJOINT.ID_LIEN_INDIV).

J'ai un soucis sur ce que renvoient ces objets : quand le calcul renvoi une valeur >0, j'ai le bon résultat dans mon rapport.
Dans les autres cas, il renvoie #EMPTY.

J'ai besoin de faire un objet "composition familiale" dans le Designer qui regarde la valeur du nombre de conjoints et d'enfants et renvoi la composition : FA pour famille, CO pour couple, MO pour monoparental et PS pour personne seule. Pour cela, j'ai écrit :

Code :
1
2
3
4
5
6
7
8
9
10
11
case when @SELECT(Famille\Nb Conjoint)>0 then
	case when @SELECT(Famille\Nb Enfant)>0 then 'FA'
	else case when @SELECT(Famille\Nb Enfant)=0 then 'CO'
		 end
	end
else case when @SELECT(Famille\Nb Conjoint)=0 then
		case when @SELECT(Famille\Nb Enfant)>0 then 'MO' end
		else 'PS' 
		end
	end
end
Le problème est que je n'arrive pas à tester les valeurs #EMPTY, et du coup mon objet me renvoie des résultats faux.

Merci
oohc51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 11h22   #2
Responsable Business Intelligence
 
Avatar de TomDuBouchon
 
Homme Thomas Cochin
Consultant en Business Intelligence
Inscription : juin 2009
Messages : 3 281
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 281
Points : 5 701
Points : 5 701
Bonjour,

Y a-t-il bien une jointure externe entre vos deux tables ? Sur quelle BDD travaillez-vous ?
__________________
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 16/01/2012, 11h32   #3
Invité de passage
 
Homme Julien Garnier
Consultant informatique
Inscription : janvier 2012
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Julien Garnier
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : janvier 2012
Messages : 6
Points : 0
Points : 0
Je travaille sur une BDD sur Oracle 10.

En fait j'ai une table AS_PERFOYER qui me liste avec pour chaque ligne, un n° de foyer et un n° d'individu ainsi qu'un n° de lien (épouse, enfant ...).
J'ai une table AS_LIEN_INDIV qui permet de renseigner si le lien familial est de type enfant ou conjoint.

J'ai donc créé 2 alias de cette table AS_LIEN_INDIV :
Je n'ai donc pas de jointure entre ces 2 tables. Elles sont toutes les 2 en jointure avec la table AS_PERFOYER, avec pour chacune une jointure externe avec AS_PERFOYER.

J'espère que j'ai été assez clair ...
oohc51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 11h43   #4
Modérateur
 
Avatar de djam21
 
Homme
Consultant en Business Intelligence
Inscription : janvier 2006
Messages : 560
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Luxembourg

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

Informations forums :
Inscription : janvier 2006
Messages : 560
Points : 862
Points : 862
Envoyer un message via Skype™ à djam21
En mettant la valeur 0 à la place de #Empty, çà résoudrait ton problème...

Tu peux appliquer un format à ton objet pour gérer cela...
djam21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 11h47   #5
Invité de passage
 
Homme Julien Garnier
Consultant informatique
Inscription : janvier 2012
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Julien Garnier
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : janvier 2012
Messages : 6
Points : 0
Points : 0
Oui c'est ce que j'ai essayé de faire ... j'ai essayé avec des case, des decode, mais je n'y arrive pas !

Mon problème est que je dois faire ça dans le Designer, car il faut que mon objet me retourne la composition familiale afin que nos clients puissent l'utiliser directement dans le Reporter sans passer par la création d'une variable !

Tu parles d'appliquer un format à mon objet directement dans le Designer ?
oohc51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 11h53   #6
Responsable Business Intelligence
 
Avatar de TomDuBouchon
 
Homme Thomas Cochin
Consultant en Business Intelligence
Inscription : juin 2009
Messages : 3 281
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 281
Points : 5 701
Points : 5 701
Le truc que je ne comprends pas, c'est que vos tables intermédiaires devraient renvoyer 0 puisqu'elle sont basées sur un count()...

Si vous testez simplement dans un rapport BO un foyer de chaque type, les 0 sont-ils bien renvoyés dans le cas où il n'y a pas de conjoint ou pas d'enfant ?
__________________
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 16/01/2012, 12h05   #7
Modérateur
 
Avatar de djam21
 
Homme
Consultant en Business Intelligence
Inscription : janvier 2006
Messages : 560
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Luxembourg

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

Informations forums :
Inscription : janvier 2006
Messages : 560
Points : 862
Points : 862
Envoyer un message via Skype™ à djam21
Citation:
Envoyé par oohc51 Voir le message
Oui c'est ce que j'ai essayé de faire ... j'ai essayé avec des case, des decode, mais je n'y arrive pas !

Mon problème est que je dois faire ça dans le Designer, car il faut que mon objet me retourne la composition familiale afin que nos clients puissent l'utiliser directement dans le Reporter sans passer par la création d'une variable !

Tu parles d'appliquer un format à mon objet directement dans le Designer ?
Oui dans le Designer... Clic droit sur ton objet puis "format de l'objet"...
djam21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 12h05   #8
Invité de passage
 
Homme Julien Garnier
Consultant informatique
Inscription : janvier 2012
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Julien Garnier
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : janvier 2012
Messages : 6
Points : 0
Points : 0
Je suis d'accord que le COUNT devrait me renvoyer 0 ...

Quand je teste dans un rapport d'afficher le n° de foyer et le nombre de conjoints seulement, il ne me ressort que les lignes qui ont des conjoints.
De même pour les enfants.

Par contre, quand j'affiche le nombre de conjoints ET d'enfants, j'ai ça :
Citation:
Nom Famille Nb Conjoint Nb Enfant
ABIDINE FOUZIA 1,00 4,00
ADAM MARIE 1,00
ADJA AMBY JULIENNE 3,00
AFARYAN VALERIE 1,00 2,00
AFONSO CARLOS 1,00 1,00
AFONSO FAIOES FERNANDO 1,00 2,00
AFONSO JOSÉ 1,00 1,00
AGOUZZAL MALIKA 2,00 6,00
AHAMADA HASSANI 1,00 3,00
AICHAOUI LAKBIRA 1,00
AIPAS DE RUE JEAN 2,00
oohc51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 12h16   #9
Invité de passage
 
Homme Julien Garnier
Consultant informatique
Inscription : janvier 2012
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Julien Garnier
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : janvier 2012
Messages : 6
Points : 0
Points : 0
Alors, effectivement, après être allé faire un tour dans le format de l'objet, il me renvoie désormais 0 dans mon état.

Par contre, quand je regarde mon gestionnaire de données (le cube), onglet Résultats, j'ai toujours #EMPTY qui est renvoyé mais j'ai 0 à l'affichage.

Du coup quand je fais mon test sur la composition familiale :
Code :
1
2
3
4
5
6
7
8
9
10
11
case 
when @SELECT(Famille\Nb Conjoint)>0 then 
	case 
	when @SELECT(Famille\Nb Enfant)>0 then 'FA'
	else 'CO'
	end
else case 
       when @SELECT(Famille\Nb Enfant)>0 then 'MO' 
       else 'PS'
       end
end
... lorsque je n'ai pas de conjoint et des enfants il me renvoie quand même 'FA', comme si il considérait le #EMPTY comme >0 ...
oohc51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 13h06   #10
Responsable Business Intelligence
 
Avatar de TomDuBouchon
 
Homme Thomas Cochin
Consultant en Business Intelligence
Inscription : juin 2009
Messages : 3 281
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 281
Points : 5 701
Points : 5 701
Essayez de remplacer votre code pour gérer les null, en partant du principe que 0 n'existera pas du coup :
Code :
1
2
3
4
5
6
7
8
9
10
case 
when @SELECT(Famille\Nb Conjoint) IS NULL then 
       case when @SELECT(Famille\Nb Enfant) IS NULL then 'PS' 
       else 'MO'
       end
else 
	case 	when @SELECT(Famille\Nb Enfant) IS NULL then 'CO'
	else 'FA'
	end
end
__________________
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 16/01/2012, 13h43   #11
Invité de passage
 
Homme Julien Garnier
Consultant informatique
Inscription : janvier 2012
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Julien Garnier
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : janvier 2012
Messages : 6
Points : 0
Points : 0
Citation:
Envoyé par TomDuBouchon Voir le message
Essayez de remplacer votre code pour gérer les null, en partant du principe que 0 n'existera pas du coup :
Code :
1
2
3
4
5
6
7
8
9
10
case 
when @SELECT(Famille\Nb Conjoint) IS NULL then 
       case when @SELECT(Famille\Nb Enfant) IS NULL then 'PS' 
       else 'MO'
       end
else 
	case 	when @SELECT(Famille\Nb Enfant) IS NULL then 'CO'
	else 'FA'
	end
end
Je l'avais déjà essayé je crois mais je viens de le refaire et il me sort 'FA' pour chaque ligne ... je commence à désespérer !
oohc51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h08.


 
 
 
 
Partenaires

Hébergement Web