Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Cognos
Cognos Forum d'entraide Cognos : Impromptu, Powerplay, transformer,...
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 05/07/2011, 08h36   #1
Invité régulier
 
Inscription : avril 2004
Messages : 13
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 13
Points : 6
Points : 6
Par défaut Gestion des intervales de temps

Bonjour

Ca fait un moment que je tourne autour d'un problème de conception sans trouver de solution élégante du coup je m'en remets a vous.

Dans le cadre de la remise à plat d'un infocentre j'ai (pour simplifier) à gérer des clients et des contrats.

On dispose donc d'une table de fait contrat avec ses dimensions clients et date.
En plus des demandes 'classiques' on souhaite connaitre le nombre de clients 'actif' c'est à dire ayant un contrat ouvert à un instant t.

Autant avoir le nombre de contrats créés pour un client à une date donnée est simple, autant avoir le nombre de contrats correspondant à un intervalle englobant la date donnée me semble complexe.

Dans les solutions envisagées on a regardé pour faire une nouvelle étoile centrée sur le client, faire snapshot des données par mois, construire coté ETL des agrégats associés à une période contenant ces données, essayer de changer le relation coté Cognos framework mais aucune solution nous satisfait pleinement.

Avez vous eu à résoudre ce genre de problème?

Jean-Philippe
jpvigniel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 17h16   #2
Membre du Club
 
Jacques Vaill
Consultant en Business Intelligence
Inscription : septembre 2010
Messages : 45
Détails du profil
Informations personnelles :
Nom : Jacques Vaill
Localisation : Canada

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Service public

Informations forums :
Inscription : septembre 2010
Messages : 45
Points : 65
Points : 65
Bonjour,
La solution réside dans ces 3 items :
1-clé transférable dans la table de fait à partir des dimensions
2-relation entre dimension - fait
3-Utiliser invite pour la période requise

Si tes dimensions sont bien définies tu vas pouvoir sélection facilement ce que tu as besoin exemple dans contrat date de début et date de fin est essentiel, pour trouver les contrats actifs : date requise entre date début et date fin ou identifiant de la ligne dimension temps entre identifiant transférer pour la date de début et la date de fin. Donne un filtre :
temps.temps_sk between contrat.dd_temps_fk and contrat.df_temps_fk
si tu veux ceux qui sont encore actif aujourd'hui
contrat.ouvert ='OUI', qui devrait être une dimension qualifiant les états de contrat dim_contrat selon moi, une table de fait f_contrat contenant toutes les clés transférables, les clé qualificative pour un contrat.

Si tu veux toutes les dates ou tous les clients c'est la que vas se définir ta cardinalité entre les dimensions et fait.

Pour la date requise un prompt qui transfert non pas la date sélectionné mais le sk associer à la table temps, plus facile à transférer et manipuler que de jouer entre des dates, qui ne sont pas facile dans Cognos, je dois admettre

Juste t'assurer que ta table de fait contrat contient toute les informations nécessaire pour être trier par les dimensions.
Exempe de select résultant:

Select a.date_Effetive,
dco.nom_client, dco.lieu,
sum(fc.compteur_contrat)
From temps a ,
F_Contrat ,
dim_Client dcl,
dim_contrat dco
Where a.date_Eff = ?date_Requise?
And a.dm_temps_sk =between co.dd_dm_temps_fk and co.df_temps_fk
And co.client_fk = cl.cilent_sk
group by ...
order by ...

Bonne journée
ElPoune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 11h24   #3
Membre du Club
 
Inscription : mars 2010
Messages : 105
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 105
Points : 51
Points : 51
Bonjour,

Si j'ai bien compris, jpvigniel veut savoir le nombre de contrats créés sur un laps de temps entre autres.

Et ElPoune nous donne une solution pour savoir le nombre de contrats ouverts à une date donnée.

Moi, je vois pas trop la difficulté de ce problème, jpvigniel est pet-être géné par plusieurs dates. A mon avis, en tous cas, un seul axe de temps ne suffit pas pour de divers analyses. Une définition pour chaque axe est donc nécessaire.
hittony est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2011, 11h23   #4
Invité régulier
 
Inscription : avril 2004
Messages : 13
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 13
Points : 6
Points : 6
Désolé, je reviens sur ce post avec un peu de retard.


C'est bien le nombre de contrats ouvert à une période données qui est demandé.
Par rapport à la solution de ElPoune c'est bien ce qui est recherché mais il faut utiliser une valeur de la dimension Date en lieu et place de la valeur d'invite.

C'est la que se trouve la limite à mes connaissances, car la solution donnée ne permet pas de construire un tableau avec les clients actifs par mois, mais seulement les client actifs pour la date x. (ou alors j'ai mal compris

Pour l'instant la solution adopté a été de créer une nouvelle étoile avec comme fait central l'activité client indiquant entre autre si le client est actif.
C'est simple a utiliser pour les auteurs de rapport et ca marche bien.

Merci encore pour votre aide.
jpvigniel 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 23h25.


 
 
 
 
Partenaires

Hébergement Web