IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Cognos Discussion :

Gestion des intervales de temps


Sujet :

Cognos

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2004
    Messages : 13
    Points : 131
    Points
    131
    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

  2. #2
    Membre du Club
    Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Canada

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 45
    Points : 68
    Points
    68
    Par défaut
    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

  3. #3
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 169
    Points : 121
    Points
    121
    Par défaut
    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.

  4. #4
    Membre habitué

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2004
    Messages : 13
    Points : 131
    Points
    131
    Par défaut
    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.

Discussions similaires

  1. [MCD] gestion des emplois du temps collége
    Par TDI2CDS dans le forum Schéma
    Réponses: 1
    Dernier message: 18/05/2012, 10h49
  2. Gestion des emplois du temps
    Par limopsy dans le forum Merise
    Réponses: 3
    Dernier message: 16/01/2012, 15h31
  3. Gestion des intervalles entre composants
    Par Sami38 dans le forum Débuter
    Réponses: 6
    Dernier message: 15/12/2010, 12h48
  4. [9i] Calculer des intervalles de temps
    Par tscoops dans le forum Oracle
    Réponses: 9
    Dernier message: 31/12/2005, 08h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo