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 :

Erreur doublon de clés d'attributs ? [2008]


Sujet :

SSAS

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Erreur doublon de clés d'attributs ?
    Bonjour,

    Je suis en train de réaliser un cube dont plusieurs dimensions sont issues de tables de ma base de données (simple vue). Le format de ces tables (qui deviendront des dimensions) est toujours le même :

    - un ID (identity) comme clé primaire
    - un code (varchar)
    - un texte (varchar)

    Il n'est pas rare que deux lignes d'une même table est un texte identique pour deux ID différents.

    Dans ce cas, lorsque je construit la dimension, j'ai l'erreur suivante : "Un doublon de clé d'attribut a été trouvé lors du traitement de*: Table*: 'XXXXX', Colonne*: 'YYYYY', Valeur*: 'ZZZZZ'. L'attribut est 'YYYYY'.".

    Je n'arrive pas à comprendre pouquoi, d'autant que cela n'arrive pas sur toutes les dimensions !!!

    Quelle est la logique appliquée par SSAS ? Toutes les colonnes deviennent-elles ipso-facto des clés ? Si oui, pourquoi cela marche pour certaines dimensions (dans lesquelles il y a bien des doublons, j'ai vérifié) et pas pour d'autres ? Cela peut-il être lié à la table des faits à laquelle elles sont liées (toutes les dimensions en erreur sont liées à une table de faits et toutes les dimensions non en erreur sont liées à une autre table de faits).

    D'avance merci pour votre aide (là, je suis un peu perdu...)

    François

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 107
    Points : 99
    Points
    99
    Par défaut
    Dans ta dimension, il faut que tu définisses ta clé à partir de la clé primaire de ta table et ton libellé à partir de ta designation ... ou d'une conctenation code + designation pour éviter d'avoir deux niveaux identiques (en apparence) mais faisant référence à deux codes différents...

    A ta disposition si je ne suis pas assez clair.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Merci pour ces infos. J'ai effectivement essayé de modifier les Keycolumns de ma dimension pour mettre l'ID en clé et le champ en Name et Value column mais dans ce cas je pers le regroupement des textes identiques ... et c'est ce que je dois faire : si 3 ID ont le même texte, le texte ne doit être présenté qu'une seule fois en cumulant le count des 3.

    Si je mets l'ID en clé primaire, je n'ai plus l'erreur. Dans ce cas, comment puis-je faire le regroupement ?

    François

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    Je suis toujours coincé sur ce sujet. Si quelqu'un à une idée pour me permettre d'avancer, ce serait génial !

    François

  5. #5
    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
    On va se la refaire. Dans ta dimension tu as donc deux niveaux de granularité: ton ID et ton Code.
    Tu as donc deux attributs dans ta dimension: un avec KeyColumn à ID et un autre avec KeyColumn à Code et NameColumn à Label. Celui que tu veux afficher semble être le second.

    Il n'est pas rare que deux lignes d'une même table est un texte identique pour deux ID différents.
    Ca c'est interdit! Sinon pour une entité spécifique comment SSAS choisit-il le label à afficher?

    Donc dans ton cas tu dois avoir un code en relation 1-1 avec ton label. Par exemple comme ça avec une dimension temps simplissime:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    IDJOUR;CODE_MOIS;LABEL_MOIS
    20090101;01;Janvier
    20090102;01;Janvier
    20090201;02;Février
    etc...
    Note bien cependant que tu peux avoir ce problème pour d'autres raisons. Dans mon exemple si je rajoute l'année et que je me retrouve à avoir "Janvier" correspondant à "2009" et à "2010" tout en ayant spécifié une AttributeRelationship Mois->Année je reprends l'erreur.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Merci beaucoup, c'est compris et corrigé.

    Pour info, j'avais également un problème de case sensitive : ma base de données est CS et mes dimensions étaient CI. J'avais un problème de regroupement sur des colonnes avec les valeurs "Janvier" et "janvier". J'ai passé ma dimension en CS et cela fonctionne.

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Je viens poster ce message aujourd'hui car j'ai besoin d'aide.
    Je me retrouve exactement dans le cas évoqué par vous François JEHL,
    je dispose d'une table temps dans laquelle différentes dates sont répertoriées et donc les mêmes mois se répètent chaque année ainsi que les semaines.
    L'erreur de doublons est générée, cependant je ne parviens pas à la résoudre.
    J'ai cherché à la contourner en suivant la démarche décrite sur ce site http://support.microsoft.com/kb/912396/fr mais en voulant traiter mon cube, l'erreur est générée. :s

    Pourriez-vous m'aider et si possible m'indiquer la marche à suivre pour la résoudre

  8. #8
    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
    Si tu as une attributeRelationship entre deux niveaux et que les clés de niveaux ne sont pas uniques tu vas avoir des problèmes. Par exemple dans le cas de "mois" (1...12) plutôt que d'utiliser cette unique colonne comme clé d'attribut (KeyColumn) crée une clé composite composée de cette valeur et de ta colonne année.

  9. #9
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut SSAS problème hiérarchie de dimension
    Bonjour,

    Je suis confrentée à la même problèmatique abordée ds ce tuto, néanmoins je ne vois pas comment appliquer la solution proposée à mon cas.
    En effet j'ai une dimension Produit qui contient les champs et la hiérarchie suiavnte :

    Division<DPC<SBU<SPG<Produit<DescptionProduit
    lors du deploiement j'ai ce genre d'erreur:

    "Erreurs dans le moteur de stockage OLAP*: Un doublon de clé d'attribut a été trouvé lors du traitement de*: Table*:
    'dbo_DimPcode', Colonne*: 'NomDPC',
    Valeur*: 'TL*'. L'attribut est 'Nom DPC'"
    alors que j'ai défini une clé technique unique pour chaque produit.
    je vous remercie par avance pour vos réponses.

  10. #10
    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
    alors que j'ai défini une clé technique unique pour chaque produit.
    Le problème ce n'est pas forcément le produit. Est ce chaque "parent" du produit (au sens des attribute relationships de la dimension) est bien unique?
    Dit autrement à tous les niveaux, chaque membre doit avoir un seul et unique parent.
    Donc vérifier ça, c'est généralement le problème.

    Après le second soucis possible c'est d'avoir plusieurs valeurs possibles dans la NameColumn pour la KeyColumn d'un attribut.

  11. #11
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    Oui, normalement chaque élément d'un niveau est affecté à un seul parent, je ne sais pas si c'est ce dont vous me parliez dans votre réponse?
    Le problème persiste et je le retrouve même sur une autre dimension qui est la dimension client.
    J'ai déjà déployé les mêmes hiérarchies avec une partie des données pour faire un POC au début de mon projet, ça marchait bien, pourquoi maintenant ça ne marcherai pas!

  12. #12
    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
    Même dimension certes, mais mêmes données? Autre chose, as-tu du NULL dans certaines AttributeKeys? Si c'est le cas, le NULL étant converti en chaine vide ou en 0 selon le cas, si une valeur chaine vide ou 0 existe par ailleurs tu prends un doublon, c'est la troisieme cause, après le parent en double et le label en double. Pour tester si c'est le parent en double, supprime les relations d'attribut, si ça marche c'est ça.

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

Discussions similaires

  1. [XSLT] Eliminer les doublons de valeurs des attributs
    Par furybubu dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 04/05/2007, 10h09
  2. erreur doublon, comment l'identifier avec php ?
    Par italiasky dans le forum Outils
    Réponses: 1
    Dernier message: 08/02/2007, 23h53
  3. Gestion des erreurs (doublon clef primaire)
    Par capitaine dans le forum Access
    Réponses: 3
    Dernier message: 19/06/2006, 12h22
  4. Réponses: 8
    Dernier message: 13/09/2005, 21h05
  5. [Conception] Table de hachage et doublons de clés
    Par mammou dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 13/05/2004, 19h16

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