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 :

Plusieurs attributs de dimension sur une même table de référence


Sujet :

SSAS

  1. #1
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 77
    Points : 58
    Points
    58
    Par défaut Plusieurs attributs de dimension sur une même table de référence
    Bonjour

    J'ai une table de dimension qui contient 3 dimensions et une clé.
    Les 3 dimensions sont des entiers qui peuvent avoir les valeurs suivantes :
    0 : non
    1 : oui
    2 : non référencé.

    J'ai créé une table de réf qui contient ces 3 ids avec les libellés correspondant.

    Ensuite j'ai créé ma dimension comme ça :
    MA_DIMENSION
    clé
    BOOL_ID1 avec le libellé de la table de réf
    BOOL_ID2 avec le libellé de la table de réf
    BOOL_ID3 avec le libellé de la table de réf

    Lorsque je lance le process, j'ai une belle erreur "logique" qui me dit que j'ai des doublons de clé sur mes attributs.
    Je ne vois pas quelle option cocher ou choisir pour que ça passe...

    En attendant, j'ai créé une dimension BOOL_REF que j'ai associée à mes trois ID dans le cube. Le problème, c'est que je me retrouve avec 3 dimensions, plutôt qu'avec 1 dimension et 3 attributs.

    Merci de votre aide.

    Iza

  2. #2
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Tu n'aurais pas par hasard une hiérarchie utilisateur construite sur tes attributs? Ou tout au moins des AttributeRelationships entre eux?

    Je ne vois pas quelle option cocher ou choisir pour que ça passe...
    Le but est de ne jamais faire ça.
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  3. #3
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 77
    Points : 58
    Points
    58
    Par défaut
    Bonsoir François

    Ca faisait longtemps
    Non je n'utilise pas de hiérarchie, juste une dimension avec des attributs tout simple.
    Dans cette dimension, j'ai bien d'autres attributs qui utilisent à chaque fois une autre table de réf (pour les libellés) et je n'ai aucun problème. C'est lorsque j'utilise une même table pour plusieurs attributs que ça plante.

    Au pire, je vais créer plusieurs fois la même table de réf, un peu dommage, mais au moins mes attributs seront bien "rangés".

    A+

  4. #4
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Hmmm... Isa il y a - bon à ma connaissance limitée du produit - 3 raisons pour se choper une erreur de DuplicateKey:

    1) Avoir NULL dans une des KeyColumns
    2) Avoir des AttributeRelationships entre attributs ayant des clés dupliquées (donc généralement avoir mis des hiérarchies utilisateur) -> pour ça si tu as BIDS Helper (je t'ai eu en formation donc tu dois avoir BIDS Helper ) un petit Dimension Health Check devrait te renseigner.
    3) Tu as une KeyColumn/NameColumn, la clé apparaît plusieurs fois mais avec une NameColumn différente (deux noms pour une clé) ce qui fait péter ta dim.
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  5. #5
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 77
    Points : 58
    Points
    58
    Par défaut
    Je comprends plus rien
    Ce matin, je recommence ma dimension, mais en prenant cette fois tous les attributs proposés lors de la création de la dimension.
    Je la modifie en mettant les "name" qui vont bien, je process... et tout roule
    Je n'ai rien fait de plus, sauf qu'hier, j'ajoutais un à un mes attributs.

    Maintenant je rajoute un autre attribut, et paf ça replante. Même pas sur l'attribut que j'ajoute, mais sur ceux qui sont sur la même table de référence.

    Je vais essayer de trouvers des exemples de mon cas sur le net, ça doit forcément exister...

    A+

  6. #6
    Membre habitué Avatar de scharly3
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Novembre 2008
    Messages : 121
    Points : 144
    Points
    144
    Par défaut
    Bonjour Iza,

    Serait-il possible d'avoir une capture d'écran du DSV de ton cube ainsi de ce que tu essaye de faire ? J'ai du mal a visualiser

    Je pense pouvoir t'aider pour avoir été confronté au même type de problèmes.

    Cdt,
    Sauget Charles-Henri - MCITP Business Intelligence Developer 2008 - http://www.sauget-ch.fr

  7. #7
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 77
    Points : 58
    Points
    58
    Par défaut
    Salut
    J'ai résolu mon problème en faisant des vues de ma table de réf.
    J'ai une table qui s'appelle "binaire" dans laquelle il y a des libellés "oui", "non" etc... qui sont commun à plusieurs attributs.
    Si je fais pointer les attributs sur cette table, j'ai un problème de duplicate key, or en faisant des vues comme dans le sreenshot, je n'ai plus le problème.
    A+
    Iza
    Images attachées Images attachées  

  8. #8
    Membre habitué Avatar de scharly3
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Novembre 2008
    Messages : 121
    Points : 144
    Points
    144
    Par défaut
    Bonjour,

    Dans ton cas, ta solution est de dupliquer la table de référence, est-ce réellement judicieux ?

    J'ai déjà rencontrer le problème avec une notion de FLAG avec un libelle qui été commun à plusieurs éllements de ma table de fait.

    Pourquoi cela ne fonctionne pas ? Tous simplement car si regarde la requête SQL généré par SSAS pour récupérer tes données qui pointes toutes vers la même table, celui-ci utilise toujours le premier champs rencontré. (pas très clair là )

    Plutôt que de créer N vues, je t'aurais plutôt conseillé de faire la relation entre tes clés via Dimension Usage.

    J'illustre:


    J'ai comme toi une référence Flag qui à plusieurs relation avec ma table de fait.

    Au lieu de spécifier cette relation dans mon DSV, je crée Flag en tant que Dimension et spécifie sont utilisation:



    Cela fonctionne

    Autre point, as tu les différentes Foreign Key crée dans ton sgbd, car je me demande si cela ne résolverais pas ton problème.

    Cordialement,
    Sauget Charles-Henri - MCITP Business Intelligence Developer 2008 - http://www.sauget-ch.fr

  9. #9
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 77
    Points : 58
    Points
    58
    Par défaut
    Salut
    Dans ton cas, le "flag" est une dimension à part entière. Dans le mien c'est un attribut d'une dimension.
    Je n'ai pas fait de foreign key sur ma table "flag" car il n'y a que 4 données et de l'autre plusieurs dizaine de millions. Ca va me charger en index et je ne suis pas sûre de gagner tant que ça en perf.
    J'ai l'impression qu'entre la DSV et la dimension, SSIS ne sait plus qu'elle relation prendre. Il est sur qu'avec les clés étrangères cela aurait résolu mon problème à condition que SSIS sache quelle clé prendre (ça non plus, c'est pas très clair )

    Mais je n'ai pas dupliqué ma table de ref, j'en ai qu'une seule, mais j'ai crée plein de "named query", l'équivalent des vues et du coup ça marche nickel.
    L'avantage c'est que je peux changer le contenu ou la structure de ma table de réf sans que cela impacte mon projet.

    Merci !

    Iza

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Plusieurs SUM sur une même table
    Par fbms18 dans le forum SQL
    Réponses: 6
    Dernier message: 29/04/2011, 09h45
  2. Plusieurs trigger sur une même table / Performances
    Par tchoimars dans le forum PL/SQL
    Réponses: 2
    Dernier message: 27/01/2010, 15h58
  3. Suivi de plusieurs plans d'actions sur une même table
    Par Mac_yavel dans le forum Modélisation
    Réponses: 2
    Dernier message: 20/07/2007, 13h44
  4. [MySQL] Plusieurs même requetes sur une même table
    Par bibom dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 27/07/2006, 12h54

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