Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Débuter
Débuter Forum d'entraide pour débuter avec Business Object
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 22/03/2011, 11h03   #1
Invité de passage
 
Inscription : mars 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 5
Points : 1
Points : 1
Par défaut Plusieurs montants et plusieurs date différentes dans un même tableau

Bonjour tout le monde,

Je viens vous demander de l'aide. J'ai beaucoup de mal à avancer sur mon travail...

Voilà, je débute complètement en B.O. et on me demande de réaliser un tableau censé être simple.
Il s'agit d'un tableau comptable actualisé au 2e jour ouvré du trimestre en cours. Il peut éventuellement être lancé un autre jour.

Ce tableau doit faire apparaître plusieurs montants à des dates différentes :
- Colonne 1 : ID client
- Colonne 2 : ID compte
- Colonne 3 : Montant A imputé au dernier jour ouvré du trimestre T-1
- Colonne 4 : Montant B imputé au 1er jour ouvré du trimestre T
- Colonne 5 : Montant C imputé au 1er jour ouvré du trimestre T
- Colonne 6 : Montant D imputé au 1er jour ouvré du trimestre T
Ces montants ne font pas tous parti des mêmes Univers.
J'ai donc autant de requêtes que de type Montant.

J'ai 3 Univers :
- Univers X : Gestion client
- Univers Y : Montant A, Montant B
- Univers Z : Montant C, Montant D

Dans chacun de ces Univers, j'ai créé les objets dates :
- 1er jour ouvré du trimestre T
- Dernier jour ouvré du trimestre T-1
à partir d'une "date calendrier"

Dans chacune de mes requêtes, j'indique que la "Date Calendrier" est égal à la "date du Montant". (ex : "Date de calendrier" = "date du montant A")

Mon problème principal est celui ci : je ne parviens pas à faire cohabiter ces 4 montants dans le tableau.
J'ai l'impression d'avoir tout essayé mais mes carences techniques me bloquent énormément.

Par exemple, j'ai essayé dans le tableau :
"[Montant A]Where([Date Montant A]=[Dernier jour ouvré du trimestre T-1]), et HOP! le montant disparaît comme par magie...

Pouvez vous m'aider ? ça fait tellement longtemps que je galère dessus. B.O. me donne l'impression d'être un gros débile...


merci d'avance.

Ps : Voici le SQL de l'objet DERN_JOUR_OUVRE_TRIMPRECEDENT
SELECT C1.DATE_JOUR,MAX(C3.DATE_JOUR) AS DERN_JOUR_OUVRE_TRIMPRECEDENT
FROM
UNIVERSADM.UNIVERS_CALENDRIER C1,
UNIVERSADM.UNIVERS_CALENDRIER C2,
UNIVERSADM.UNIVERS_CALENDRIER C3
WHERE C1.DATE_JOUR = C2.DATE_JOUR
AND C3.DATE_JOUR <= (TRUNC(C2.DATE_JOUR,'Q')-1)
AND C3.DATE_JOUR >= (TRUNC(C2.DATE_JOUR,'Q')-5)
AND C3.TYPE_JOURNEE = 'O'
GROUP BY C1.DATE_JOUR
) CALENDRIER_SUPPLEMENTAIRE

Bien sûr, je n'ai pas écrit moi même le SQL. Trop compliqué pour moi pour le moment @___@
Gariel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2011, 11h16   #2
Responsable Business Intelligence
 
Avatar de TomDuBouchon
 
Homme Thomas Cochin
Consultant en Business Intelligence
Inscription : juin 2009
Messages : 3 271
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 271
Points : 5 670
Points : 5 670
Bonjour,

Pour la formule SQL, on va partir du principe qu'elle est juste. (Bien qu'elle ne corresponde pas à un objet : 2 éléments dans le SELECT)

Bref, ce que je ne comprends c'est que tu dis que tu fais autant de requêtes qu'il y a de montants (ce qui est très bien) ce qui tend à dire que tu as déjà filtré dans tes requêtes les jours desquels il faut extraire les montants.

Du coup, lorsque tu places tes indicateurs dans ton tableau, ils sont déjà filtrés... Donc pourquoi vouloir remettre une condition avec un WHERE ?
__________________
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 22/03/2011, 11h30   #3
Invité de passage
 
Inscription : mars 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 5
Points : 1
Points : 1
Merci pour ta réponse,

Voici le format de mes requetes :

Requête 1, Gestion Client :
* Objet du résultat : [ID client], [ID compte], [Date Calendrier]
* Filtres : {condition client}, {condition compte}
{[Date calendrier]=sysdate}

Requête 2, Montant A :
* Objet du résultat : [ID client], [ID compte]
[Total Montant A], [Date Montant A]
[Dernier jour ouvré du trimestre T-1]
* Filtres : {condition client = condition client.REQ1},
{condition compte = condition compte.REQ1}
{[Date calendrier]=[Date Montant A]}

Requête 3, Montant B :
* Objet du résultat : [ID client], [ID compte]
[Total Montant B], [Date Montant B]
[Premier ouvré du trimestre T]
* Filtres : {condition client = condition client.REQ1},
{condition compte = condition compte.REQ1}
{[Date calendrier]=[Date Montant B]}

Requête 4, Montant C :
* Objet du résultat : [ID client], [ID compte]
[Total Montant C], [Date Montant C]
[Premier ouvré du trimestre T]
* Filtres : {condition client = condition client.REQ1},
{condition compte = condition compte.REQ1}
{[Date calendrier]=[Date Montant C]}

Requête 5, Montant D :
* Objet du résultat : [ID client], [ID compte]
[Total Montant D], [Date Montant D]
[Premier ouvré du trimestre T]
* Filtres : {condition client = condition client.REQ1},
{condition compte = condition compte.REQ1}
{[Date calendrier]=[Date Montant D]}


Donc si je comprends bien, mon problème, c'est que je n'avais pas compris qu'une fois que je sélectionnais "premiere date..." ou "derniere date.." du trimestre dans les objets du résultat, il filtrait automatiquement les montant sur ces objets ?

Dans ce cas, je dois simplement enlever "Date du montant n" des requêtes "montant n" ?
Gariel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2011, 12h47   #4
Responsable Business Intelligence
 
Avatar de TomDuBouchon
 
Homme Thomas Cochin
Consultant en Business Intelligence
Inscription : juin 2009
Messages : 3 271
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 271
Points : 5 670
Points : 5 670
En fait, dans tes requêtes, je ne comprends pas bien tes conditions sur les dates :
Code :
{[Date calendrier]=[Date Montant A]}
car tu réutilises [Date calendrier] à chaque fois... A moins que c'était simplement un raccourci pour dire que tu filtres avec la date du calendrier qui t'intéresse pour chaque requête.

Si c'est bien le cas, il te suffit de supprimer tes dates des objets du résultat de chaque requête (ceci dit tu peux en garder une si tu as besoin), de les lier correctement sur ID client et ID compte, et de placer tes objets dans un 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 22/03/2011, 15h05   #5
Invité de passage
 
Inscription : mars 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 5
Points : 1
Points : 1
Merci,

Oui en fait, les objets
[Dernière Date du trimestre-1]
et
[Premiere date du trimestre]
ont pour identifiant "Date Jour" de la table calendrier.

Du coup pour chaque requête, je lui indique que l'objet [Date jour] est égal a l'objet [Date Montant].

N'est ce pas la bonne méthode ?
En tout cas, ça semble marcher.

Maintenant, j'ai toujours un autre problème qui est dans l'introduction de mon sujet.

Ce document doit obtenir des montants qui sont pour certain à la fin d'un trimestre et d'autres au début du trimestre suivant (des intérêts), à condition qu'ils soient des jours ouvrés.
Voilà ce que j'ai fait :
- J'ai inscrit la valeur "04/10/2010" pour l'objet [Date Jour] dans le filtre de la première requête. C'est le deuxième jour ouvré du mois d'octobre (vendredi 1, lundi 4).
- pour chacune des requêtes, je lui dit {[Date Montant.Montant*n] = Résultats de [Date jour.GestionClient]}

Il ne me sort aucun résultat.
SI je regarde directement en base, je vois que pour un compte donné, j'ai bien une somme imputée au 01/10/2010.

Lorsque je lui dit "Vas chercher les sommes entre le 29/09 et le 04/10, il me sort des résultats mais je crois qu'il me fait un cumul des sommes de chaque journée. (Deux des montants sont des soldes de fin de journée)


Suis je assez clair dans mon explication ? Peux tu me donner encore un pti coup de main ?

Mon premier problème, que tu m'as fait résoudre en un clin d'oeil, me montre que j'ai encore une forte marge de progression en ce qui concerne le SQL et BO. (forme polie de "je suis vraiment nul a chier)
J'ai le sentiment que c'est la même là.. Un truc completement bête auquel je ne pense pas..


Merci encore
Gariel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2011, 15h20   #6
Invité de passage
 
Inscription : mars 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 5
Points : 1
Points : 1
Citation:
Envoyé par Gariel Voir le message
Lorsque je lui dit "Vas chercher les sommes entre le 29/09 et le 04/10, il me sort des résultats mais je crois qu'il me fait un cumul des sommes de chaque journée. (Deux des montants sont des soldes de fin de journée)
Et en plus il me sort les résultats de deux trimestres à la fois............
Gariel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2011, 15h48   #7
Responsable Business Intelligence
 
Avatar de TomDuBouchon
 
Homme Thomas Cochin
Consultant en Business Intelligence
Inscription : juin 2009
Messages : 3 271
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 271
Points : 5 670
Points : 5 670
OK... Alors repartons de zéro, en reprenant l'exposé du problème.
Si j'ai bien compris, le but est de ramener des montants à différentes dates pour les clients présents à la date du jour. Donc :

Requête 1, Gestion Client :
* Objet du résultat : [ID client], [ID compte], [Date Calendrier]
* Filtres : {condition client}, {condition compte}
{[Date calendrier]=sysdate}

Requête 2, Montant A :
* Objet du résultat : [ID client], [ID compte], [Total Montant A]
* Filtres : {condition client = condition client.REQ1},
{condition compte = condition compte.REQ1}
{[Date calendrier]=[Dernier jour ouvré du trimestre T-1]
}

Requête 3, Montant B :
* Objet du résultat : [ID client], [ID compte], [Total Montant B]
* Filtres : {condition client = condition client.REQ1},
{condition compte = condition compte.REQ1}
{[Date calendrier]=[1er jour ouvré du trimestre T]}

Requête 4, Montant C :
* Objet du résultat : [ID client], [ID compte], [Total Montant C]
* Filtres : {condition client = condition client.REQ1},
{condition compte = condition compte.REQ1}
{[Date calendrier]=[1er jour ouvré du trimestre T]}

Requête 5, Montant D :
* Objet du résultat : [ID client], [ID compte], [Total Montant D]
* Filtres : {condition client = condition client.REQ1},
{condition compte = condition compte.REQ1}
{[Date calendrier]=[1er jour ouvré du trimestre T]}

Cela fait, il faut s'assurer que toutes les requêtes sont bien liées (dans le cube) sur les dimensions ID client et ID compte (ce qui n'est pas sur étant donné que les données proviennent de différents univers)

Après, il suffit de placer les objets [ID Client] [ID Compte] [Date calendrier] [MontantA] [MontantB] [MontantC] et [MontantD] 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 22/03/2011, 16h23   #8
Invité de passage
 
Inscription : mars 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 5
Points : 1
Points : 1
Il faut donc que je crée un objet "Premier date ouvré du trimestre en cours".

Je devrais m'en sortir avec tes conseils.

Merci
Gariel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2011, 16h42   #9
Responsable Business Intelligence
 
Avatar de TomDuBouchon
 
Homme Thomas Cochin
Consultant en Business Intelligence
Inscription : juin 2009
Messages : 3 271
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 271
Points : 5 670
Points : 5 670
C'est ça, il faut que tu crées deux objets pour chacune des deux dates possibles : "dernier N sur T-1" et "premier N sur T".

Ce sont ces objets qui te serviront à filtrer tes requêtes. De là, ça devrait rouler tout seul.
__________________
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
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h23.


 
 
 
 
Partenaires

Hébergement Web