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éer un Axe du temps (Années / Semestres / mois) à partir d'une colonne de Date


Sujet :

SSAS

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut [SSAS] [2K5] Créer un Axe du temps (Années / Semestres / mois) à partir d'une colonne de Date
    Bonjour,

    J'ai une colonne de date dans ma table de fait, j'aimerais générer un axe du temps à partir de celle-ci, comprenant Années / Semestres / mois / Semaine.

    Étant un débutant dans le domaine je ne sais pas quelle est la meilleure méthode pour y parvenir.

    J'ai trouvé une "astuce / bidouille" en créant des calculs nommés à partir de la date, ça marche, mais pas sûrs que ce soit propre.

    Merci de votre aide et de vos conseils

  2. #2
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Le plus propre, respectueux des principes, rapide, performant est toujours de créer une véritable table de date qui contiendra ton ID (en général aaaaMMdd) de type int, puis tous les attributs que tu souhaites : mois, semaine, jour, trimestre, jour férié etc...
    Alexandre Chemla - Consultant MS BI chez Masao

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    Jinroh77
    Je te remercie infiniment de ta réponse, car je patauge.

    Donc concrètement je ne peux pas "générer" avec les assistants VisualStudio BI, cette dimension du temps à partir d'une colonne de Date (ex: 08/03/2010)?
    Car visiblement via les assistants, j'ai 2 possibilités:
    - La première c'est de générer une dimension temps serveur, en dure d'une période vers une autre (genre du 01/01/2000 au 01/01/2099)
    - La seconde, je peux sélectionner ma table de fait, il me propose alors de définir des périodes (années/semestre/quadrisemestre...), mais je ne peux utiliser DateEnvoi qu'une seul fois.... bref je comprend pas trop

    Pour le moment j'ai une seule table de fait dans mon projet:
    [KEY] NumSerie (int)
    [KEY] Fonction (string)
    [KEY] VersionApp (string)
    [KEY] Profil (string)
    [KEY] DateEnvoi (Date)
    Societe (String)
    Compteur (int)
    NomProduit (String)
    Si j'ajoute à cela, des calculs nommés à partir de DateEnvoi générant l'année, le semestre, trimestre, mois et semaine, j'obtiens à peu près ce que je veux, c'est à dire dans le navigateur du cube:

    Au milieu, mon Compteur en guise de Mesure,
    À gauche je peux sélectionner La Société, le Profil, la VersionApp
    En haut, en guise d'axe du temps, je peux avoir la précision année/semestre/trimestre/mois/semaine....

    Qu'est ce que tu en penses ? (je vais relire ton commentaire et essayer d'imaginer ta solution dans mon projet)

    Je te remercie.

  4. #4
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Effectivement cela peut fonctionner comme cela, en utilisant les assistants ou la dimension temps serveur proposés par BIDS. Cela va simuler la table que je te proposais de créer. L'avantage est que ça se met en place rapidement. Par contre il peut te manquer dans cette table certaines informations comme les jours fériés ou des typages de jours particuliers que tu pourrais souhaiter ajouter.
    L'avantage de la table en SQL est aussi de pouvoir l'utiliser lorsque tu fais du requetage SQL en temps de validation de données.
    Il y a également un peu de performance de gagner avec une véritable table mais je ne sais pas si cela est significatif.
    Alexandre Chemla - Consultant MS BI chez Masao

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    Jinroh77
    Merci de ces précisions !

    Pour le moment à vue de nez, je vais garder ma solution (calculs nommés des mois/trimestre & co à partir de mon champ Date). Car simple à mettre en place, je ne trouve pas cette solution élégante, mais ayant peu d'expérience dans le domaine c'est déjà pas mal si j'arrive à faire un truc qui tient la route.
    Je verrais plus tard si des besoins d'optimisation se font sentir.


    Je ne comprend pas trop la méthode de création de dimension du temps à partir d'une table, car une seule période est lié à un champ unique.... quant à la dimension générer par le serveur, c'est en dure une période, donc pas dynamique, donc je ne préfère pas utiliser l'assistant...

    Bon je reste ouvert aux propositions et aux conseils évidement !

    Je te remercie une nouvelle fois pour tes réponses Jinroh77, et te souhaites une bien agréable journée!


    PS:
    Je poste mes calculs nommées, histoire que mon poste puisse servir à quelqu'un d'autre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Annee - Datepart(yy, DateEnvoi)
    Semestre - Ceiling(Month(DateEnvoi)/6.0)
    Trimestre - Datepart(qq, DateEnvoi)
    Mois - Datepart(mm, DateEnvoi)
    Semaine - Datepart(wk, DateEnvoi)

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    Hum je regarde une video de Microsoft sur les cube "ModifyingMeasuresAttribsandHierarch_FR.wmv", et je m'appercois qu'il me manque quelque chose:
    Dans ma seul dimension de fait, j'ai 3 onglets: Structure de dimension, traducteur, navigateur

    Or dans la video il font des manipulations sur des dates et il y a un 4eme onglet qui s'appel "Attribute relationships", c'est étrange... j'ai essayé de créer un dimension de temps serveur en me disant que cet onglet aller y être présent, et il n'apparait pas...

    Celle qui présente dit que ca sert a optimiser les calculs... bon c'est pas bloquant je peux toujours m'en passer....

  7. #7
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Ce nouvel onglet que tu as trouvé sur la vidéo apparait avec la version 2008 de SQL Server.
    En 2005, il est représenté par la présence d'un attribut sous un autre dans la fenêtre de base.
    Alexandre Chemla - Consultant MS BI chez Masao

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    Jinroh77
    Ok j'ai pensé aussi à ca, mais j'ai préféré demander.
    Merci pour l'info
    A+

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    Je reviens vers vous:

    A défaut de mieux, pour générer un axe du temps dans mon tableau croisé dynamique sous Excel (colonne) j'utilise ma méthode des calcul nommé (année, semestre, trimestre, mois, semaine)

    Seulement lors de l'affiche dans Excel, le tri se fait par défaut par ordre alphabétique, donc l'obtient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    -2009
      -S1
         -T1
             +février +janvier +mars
    l'ordre des mois n'est pas très bon

    L'astuce serait de mettre dans mon calcul nommé le chiffre du mois '01 Janvier", le classement serait donc correcte, mais bon y a t il meilleurs solution ?

    Soit créé un axe du temps correcte (sans passer par les calcul nommé), soit en utilisant ma méthode de calcul nommé en classant correctement les mois...

    Merci

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/09/2010, 11h58
  2. [ODBC] Créer un requête à partir d'une plage de date
    Par razily dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 20/06/2010, 12h24
  3. Réponses: 5
    Dernier message: 25/02/2010, 15h53
  4. [SSAS] [2K5] Identifiant de la dimension temps
    Par krinh dans le forum SSAS
    Réponses: 4
    Dernier message: 23/06/2009, 12h00
  5. Réponses: 4
    Dernier message: 17/06/2008, 09h28

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