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 07/01/2011, 11h01   #1
Invité régulier
 
Inscription : octobre 2004
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 9
Points : 6
Points : 6
Par défaut Doublon sur Somme lors de croisement d'information 1-N

Bonjour à tous,

Je me permet de vous exposer mon problème.

Actuellement nous avons une table avec lignes de ventes (VTE_LIGNE) qui contient les informations suivantes.
Cette table représente le point central de notre univers.

Code :
1
2
3
4
5
6
7
8
 
VTE_LIGNE
---------------
ID ticket 
Article 
Qte Vendue
Mt avant remise
Mt après remise
Nous souhaiterions ajouter à notre univers des ventes la notions de détail des remises.
Cependant nous n'avons pas cette notion au niveau de la ligne de vente mais uniquement à la vente.
De plus plusieurs remise peuvent s'appliquer sur une vente.

Nous avons donc défini (En simplifiant) 2 axes d'analyse :
- Le code document (Ex : Code du coupon de réduction)
- Le code action marketing (Ex : -20% pour l'achat de deux articles)

J'ai donc créé une table VTE_REMISE contenant pour chaque vente le découpage des remises :

Code :
1
2
3
4
5
6
7
 
VTE_REMISE
---------------
ID ticket
Code document
Code action marketing
Mt Remise
En partant sur cette solution je me retrouve avec sommes erronées lorsque je fait des analyses sur le code document et ou l'action marketing.

Exemple :

Code :
1
2
3
4
5
6
 
VTE_LIGNE
ID_ticket | Article | Qte_Vendue | Mt_avant_remise | Mt_après_remise
1         | aa      | 2          | 25              | 15
1         | bb      | 1          | 10              | 5
1         | cc      | 3          | 20              | 15
Code :
1
2
3
4
5
6
 
VTE_REMISE
ID_ticket | Code_document | Code_action_marketing | Mt_Remise
1         | DOC1          | AM1                   | 15
1         | DOC2          | AM2                   | 3
1         | DOC1          | AM3                   | 2
Lorsque j'essaye dans BO de calculer le coût du code document 'DOC1', les informations issues des ventes ne sont pas bonnes:

Code :
1
2
3
4
5
6
7
8
9
 
SELECT ID_ticket,
       SUM(Mt_avant_remise) Mt_avant_remise,
       SUM(Mt_après_remise) Mt_après_remise,
       SUM(Mt_Remise)       Mt_Remise_AM
  FROM VTE_LIGNE  vl,
       VTE_REMISE vr
 WHERE vl.ID_ticket = vr.ID_ticket
   AND vr.Code_document = 'DOC1';
Code :
1
2
3
 
ID_ticket | Mt_avant_remise | Mt_après_remise | Mt_Remise_AM
1         | 110             | 70              | 20
Les montants Mt_avant_remise et Mt_après_remise sont ici multipliés par 2 car nous avons deux décompositions de remise pour le code document 'DOC1'


Y a-t-il une solution dans la conception de l'univers afin de gérer cette problématique dans BO ?
La table VTE_LIGNE est figée mais je suis ouvert à toutes proposition pour VTE_REMISE.

Merci à vous.
antalares est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2011, 01h37   #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,

Je comprends bien ta problématique mais pas ce que tu cherches à obtenir en fait...

Car effectivement, avec les données que tu donnes, le comportement de BO est tout à fait normal puisque tu as plusieurs actions marketing correspondantes dans ta table VTE_REMISE.

Donc, soit il y a un problème sur ta table VTE_LIGNE car elle devrait afficher l'action marketing correspondante, et il faudrait ainsi créer une jointure supplémentaire.
Soit il faut utiliser une autre table (tu parlais de VENTE) qui permettrait également d'identifier l'action marketing.
Soit il faut afficher l'action marketing dans ton tableau. Tout en sachant que les résultats seront identiques entre chaque action marketing car la jointure ne se fait que sur ID_Ticket.
Soit enfin, (un peu bidouille) il faut afficher les résultats comme s'il n'y avait qu'une seule action marketing en utilisant que les tables citées. Auquel cas il est possible de diviser tes résultats par le nombre d'actions marketing.
__________________
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 10/01/2011, 10h09   #3
Invité régulier
 
Inscription : octobre 2004
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 9
Points : 6
Points : 6
Citation:
Donc, soit il y a un problème sur ta table VTE_LIGNE car elle devrait afficher l'action marketing correspondante, et il faudrait ainsi créer une jointure supplémentaire.
Soit il faut utiliser une autre table (tu parlais de VENTE) qui permettrait également d'identifier l'action marketing.
Je n'ai pas de lien entre la ligne de vente / action marketing.

Le calcul des actions marketing est fait en amont. Pour chaque AM(Action marketing) les montants des remises sont répartis sur la vente :
  • Sur toutes les lignes s'il s'agit d'une remise à la vente.
  • Sur la ligne concernée si la remise s'applique à la ligne.

Sur une vente on peut avoir un nombre indéterminé d'actions marketing.
Les remises à la ligne (VTE_LIGNE.Mt_avant_remise - VTE_LIGNE.Mt_après_remise) ne correspondent pas au lignes de VTE_REMISE.
Seul la règle suivante reste vrai à la vente :
Code :
SUM(VTE_REMISE.remise) = SUM(VTE_LIGNE.Mt_avant_remise - VTE_LIGNE.Mt_après_remise)
Citation:
Soit il faut afficher l'action marketing dans ton tableau. Tout en sachant que les résultats seront identiques entre chaque action marketing car la jointure ne se fait que sur ID_Ticket.
Dans le cas où l'on souhaite afficher des indicateurs pour chaque AM. Ce résultat ne me gène pas, même s'il faut garder à l'esprit que les indicateurs ne sont pas sommables.

Citation:
Soit enfin, (un peu bidouille) il faut afficher les résultats comme s'il n'y avait qu'une seule action marketing en utilisant que les tables citées. Auquel cas il est possible de diviser tes résultats par le nombre d'actions marketing.
C'est ce cas qui m'intéresse le plus. Les utilisateurs souhaiterais sortir des chiffres sur une plage d'AM pour une période donnée.

Ci-dessous un exemple de demande :
Sur le mois de décembre quel sont les valeurs des indicateurs suivants pour les AM 'AM1' et 'AM2' :
  • montant avant remise
  • montant après remise
  • nombre de ticket
  • montant remise des AM (Ici 'AM1' et 'AM2')

J'ai déjà implémenté cette solution pour tests et les résultats correspondent à mes attentes.
Par contre ce qui me gène c'est la complexité de mise en œuvre, car il faut connaitre le modèle afin de valider la requête.
Cependant dans la société où je travaille, les utilisateurs sont aussi requêteurs et souhaiteraient pouvoir générer leurs chiffres eux même.

Je suis donc à la recherche de pistes pour créer un univers permettant d'obtenir dans Deski/WebI des indicateurs facilement utilisables par un End-User.
antalares 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 17h36.


 
 
 
 
Partenaires

Hébergement Web