|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Samuel Développeur décisionnel Inscription : octobre 2007 Messages : 54 ![]() |
Bonjour,
Je travaille sous Designer BO XIV3 et je dois trouver le nombre de jour entre deux dates à savoir : Proposer 1 première invite : "Date de début" puis une deuxième "Date de fin" et en déduire le nombre de jour qui me servira par la suite de base dans le cacul d'un ratio. J'ai créé 3 objets définis ainsi : - Objet type dimension format "date" intitulé "Date de debut" avec dans select : "date_activite" (colonne de ma table source) et dans la clause where : date_activite = @Prompt('Date de debut :','D',,,) - Objet type dimension format "date" intitulé "Date de fin" avec dans select : "date_activite" (colonne de ma table source) et dans la clause where : date_activite = @Prompt('Date de FIN :','D',,,) - un dernier objet type indicateur "Nb jours" avec dans select : to_number(@Select(DATE AGENTS\Date de fin) - @Select(DATE AGENTS\Date de debut)) Mais cela ne me retourne rien dans la création d'un rapport. Je suppose que mon raisonnement n'est pas correct voir irréalisable ! Merci pour votre aide. |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() ![]() Développeur décisionnel Inscription : juin 2008 Messages : 510 ![]() |
Salut,
En XI 3, tu as la fonction "JourEntre(DateDeb, DateFin)" qui correspond à ton besoin [EDIT] Ne pas tenir compte de ce que j'ai dit, je n'avais pas vu qu'on était dans la partie Designer ... |
|
00
|
|
|
#3 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 281 ![]() |
Bonjour,
Effectivement il y a un problème dans la création de tes invites déjà. En effet, il faut faire très attention à la notion de WHERE dans les objets car les objets sur lesquelles elles portent seront filtrés en conséquence. Pour être plus clair, si je suis ce que tu as créé : Dans le rapport, je saisis "01/01/2011" dans "Date de Début" et "31/01/2011" dans "Date de Fin". BO le traduit en "récupère toutes les lignes dont la date activité est égale à "01/01/2011" ET égale à "31/01/2011"". Ce qui forcément pose problème Le but étant, j'imagine, de récupérer toutes les lignes entre le "01/01/2011" et le "31/01/2011", tu as deux possibilités : - Tout créer dans un seul objet "Filtre Dates Activité" par exemple - Créer deux objets "Date de Début" et "Date de Fin". Dans le premier cas : Objet de type Date, "Date Activité" dans le SELECT et avec la formule suivante dans le WHERE: Code :
date_activite BETWEEN @Prompt('Date de debut :','D',,,) AND @Prompt('Date de fin :','D',,,) dans le deuxième cas : Créer deux objets "Date de Début" et "Date de Fin" avec respectivement les formules suivantes dans le SELECT (sans clause WHERE) : C'est ensuite dans le rapport qu'il faudra créer une condition sur l'objet Date_Activité précisant qu'elle doit être bornée entre l'objet "Date de Début" et l'objet "Date de Fin". Chaque méthode a son intérêt : - La première permet de créer un filtre qui limitera automatiquement les lignes ramenées en ne plaçant qu'un objet filtre dans les conditions du rapport. - La deuxième permet de se servir de ces deux objets pour d'autres cas de figure. Enfin, pour ton nombre de jours, tout dépend de ton SGBD, mais en l'occurrence ta formule pourrait fonctionner. Actuellement ce n'est pas le cas car tes deux objets de base sont faux.
__________________
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
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Samuel Développeur décisionnel Inscription : octobre 2007 Messages : 54 ![]() |
Bonjour,
Merci pour tes éléments de réponses qui m'ont permis de résoudre mon problème. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com