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

SSAS Discussion :

[SSAS] [2K5] Création d'une hiérarchie Temps à partir de Dates


Sujet :

SSAS

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 9
    Points
    9
    Par défaut [SSAS] [2K5] Création d'une hiérarchie Temps à partir de Dates
    Bonjour,

    Je débute en BI et avec SQL server 2005 et je cherche à calculer la part du chiffre d'affaire d'une famille de produits sur une période de 3 mois par rapport au CA de cette famille sur l'année. Mon problème vient des périodes que je n'arrive pas à intégrer à mes calculs.

    J'ai une dimension TEMPS qui contient toutes les dates sur les années 2008 et 2009.

    Je suis partis avec des modèles de calculs proposés par l'application (ex: comparaison d'une période à l'autre) mais je ne m'en sors pas et je ne sais pas si c'est la bonne solution.

    Merci d'avance pour vos réponses.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 9
    Points
    9
    Par défaut [SSAS 2K5] Création d'une hiérarchie Temps à partir de Dates
    Finalement je vais procéder autrement pour pouvoir résoudre mon problème mais cette autre méthode me pose encore un soucis qui semble plus simple.

    Je souhaiterais créer une hiérarchie dans ma dimension TEMPS (Année > Trimestre > Mois > Jour) à partir de l'unique attribut que j'ai dans cette dimension qui est la Date de type (MM-JJ-AA). Est-il possible d'obtenir automatiquement la répartition en année, mois, etc... sinon comment faut-il faire? Car en créant de nouveaux attributs de type Years, Months... dans une hiérarchie il semblerait que ceux-ci ne soient pas reliés à la Date ou que la relation est redondante...

    [EDIT] En faite je crois avoir compris comment créer une hiérarchie de temps en Année, Mois, etc... la seule solution semble être de faire une dimension du temps du serveur puisque ma source de donnée ne contient qu'un attribut de type Date dans une table.

    Mon problème devient alors: comment faire le lien entre l'attribut Date (de la forme MM-JJ-AA) de ma source de données et ma nouvelle hiérarchie de temps du serveur. En effet, sans ce lien cette hiérarchie me sert strictement à rien.


    Merci.

  3. #3
    Membre actif
    Inscrit en
    Janvier 2009
    Messages
    198
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2009
    Messages : 198
    Points : 244
    Points
    244
    Par défaut
    Bonjour,

    Si tu crées une dimension « Server » pour l'axe temps tu ne peux pas lier cette dimension à une table de la « DataSource ». Pour lier la dimension « Server » à la table de fait, tu dois utiliser l'onglet "Dimension Usage" et créer la relation sur le champs date que tu utilises comme clé dans la table de faits.
    Il y a une autre solution, tu peux utiliser la "DataSourece View" pour créer une table de dimension (clique droit + "new named query") qui utilise comme clé le champ date et pour les autre autres champs, la fonction SQL , pour alimenter un attribut mois, jour ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT     FullDateAlternateKey, DATEPART(DD, FullDateAlternateKey) AS Days, DATEPART(MM, FullDateAlternateKey) AS [Month], 
    DATEPART(YYYY,  FullDateAlternateKey) AS [Year]  
    FROM         dbo.DimDate
    Alexis Molteni
    Images attachées Images attachées  

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Alexis.Molteni Voir le message
    Bonjour,

    Si tu crées une dimension « Server » pour l'axe temps tu ne peux pas lier cette dimension à une table de la « DataSource ». Pour lier la dimension « Server » à la table de fait, tu dois utiliser l'onglet "Dimension Usage" et créer la relation sur le champs date que tu utilises comme clé dans la table de faits.
    Bonjour,

    J'ai essayé cette technique le problème est que dans ma source de données, l'attribut Date de ma table de faits n'est pas la clé et apparemment ça pose problème... Y-a-t-il une méthode pour résoudre ce souci ?

    Merci.

  5. #5
    Membre actif
    Inscrit en
    Janvier 2009
    Messages
    198
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2009
    Messages : 198
    Points : 244
    Points
    244
    Par défaut
    Bonjour,

    Tu peux utiliser le wizard de création des dimensions pour créer une dimension sans « data Sources » et à la fin du wizard (ou après) tu peux créer le schéma sur une connexion de destination.
    Tu te trouves alors avec une table (et une dimension) qui peux même être entièrement alimentée.


    Alexis Molteni

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Merci de votre réponse, j'ai bien compris le principe malheureusement lorsque je tente de rattacher la dimension à l'attribut Date de ma source de données et que je traite le cube voici les erreurs que ça m'affiche.



    Avez-vous une idée ?

  7. #7
    Membre actif
    Inscrit en
    Janvier 2009
    Messages
    198
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2009
    Messages : 198
    Points : 244
    Points
    244
    Par défaut
    bonjour,

    Le moteur n'arrive pas à retrouver les clés correspondantes dans la table de faits.
    Tu as généré la table de dimension dans la base relationnelle ?
    Vérifie le format des dates dans la table de fait et la dimension.
    Vérifie la langue du user utilisé pour le process du cube.


    Alexis Molteni

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Non je n'ai pas pu créer le schéma dans le vue de la source de données car cela génère une erreur "Des erreurs de validation empêchent la génération".

    Une autre erreur qui apparait dans la liste des tâches est : "Une source de données cible n'est pas un SQL Server".

    Autrement en essayant la deuxième méthode que tu m'a proposé je suis également confronté à un problème (c'est pas simple SSAS ). En effet, j'ai l'impression que les fonctions SQL telle que DATEPART ne sont pas reconnues.

    En essayant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT [Date], DATEPART(dd, 'Date') AS Days
    FROM            FAITS_VENTES
    Et toutes les autres syntaxe possible DATEPART(dd, Date), DATEPART(dd, [Date]), etc...

    Voici l'erreur que j'obtiens:


    Cela peut-il venir du fournisseur choisi pour la source de données, en l'occurrence Microsoft Jet 4.0 ?

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Finalement j'ai plus ou moins réussis a créer une hiérarchie grâce au fonction Month(Date) et Year(Date)...

    Malheureusement il n'existe pas de fonction similaire pour les trimestres et la fonction DATEPART ne fonctionne toujours pas, mais je devrais pouvoir m'en passer.

    Merci Alexis.

    Avant de vous laisser tranquille j'aurais une dernière question Maintenant que j'ai mes dates répartis en mois, comment puis-je appliquer une mesure (ou calcul) sur une regroupement de mois? Par exemple sur les mois Juin, Juillet et Août 2008 (qui ne représente pas un trimestre...).

  10. #10
    Membre actif
    Inscrit en
    Janvier 2009
    Messages
    198
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2009
    Messages : 198
    Points : 244
    Points
    244
    Par défaut
    Bonjour,

    Tu peux créer des membres calculés dans l'onglet "Calculation" de l'éditeur de cube.

    Tu les retrouves ensuite (Si axe des mesures) dans la liste des mesures.

    Alexis Molteni

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/04/2014, 10h01
  2. Réponses: 8
    Dernier message: 15/04/2010, 10h24
  3. [SSAS] [2K5] Création d'une dimension
    Par peks69 dans le forum SSAS
    Réponses: 1
    Dernier message: 07/04/2009, 08h51
  4. [SSAS][2K5]Plus qu'une liaison avec la dimension Temps
    Par gassisprog dans le forum SSAS
    Réponses: 2
    Dernier message: 08/01/2009, 18h11
  5. Réponses: 1
    Dernier message: 04/06/2008, 07h57

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