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 :

Doublon dans dimension intermédiaire


Sujet :

SSAS

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Janvier 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Janvier 2010
    Messages : 16
    Points : 10
    Points
    10
    Par défaut Doublon dans dimension intermédiaire
    Bonjour,

    Je suis confronté au problème suivant et je n'arrive pas à le résoudre
    C'est un problème en compta mais qui est largement généralisable :
    mon fait est une écriture comptable qui est rattachée à un compte (dimension). Mais, pour des questions pratiques il existe un plan de correspondance compte à compte qui permet de déverser un compte dans un autre.
    J'ai donc une Fact_Ecriture, une Dim_Compte et une Dim_PlanCorrespondance au milieu avec les structures schématiques suivantes :
    Dim_Compte :
    ID_Compte
    Numéro_Compte
    ...

    Fact_Ecriture :
    ID_Ecriture
    ID_Compte_initial
    Valeur
    ...


    Dim_PlanCorrespondance :
    ID
    Nom_Plan
    ID_Compte_initial
    ID_Compte_Correspondance

    Pour un plan de correspondance donné, je vais donc avoir une liste de correspondance de comptes vers d'autres comptes et pour une écriture je veux pouvoir remonter au compte en passant au travers de la Dim_PlanCorrespondance. (sachant que lors de l'utilisation, l'utilisateur devra forcément utiliser la Dim_PlanCorrespondance pour indiquer quel plan utiliser et donc quelle liste de comptes filtrer)
    Mon problème est que lors du traitement du cube, j'ai un doublon détecté sur ID_Compte_initial dans la Dim_PlanCorrespondance.

    D'avance, MERCI à ceux qui pourront m'aider

  2. #2
    Membre averti Avatar de arnaudvoisin
    Homme Profil pro
    Consultant BI chez WAISSO
    Inscrit en
    Janvier 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant BI chez WAISSO

    Informations forums :
    Inscription : Janvier 2007
    Messages : 156
    Points : 361
    Points
    361
    Par défaut
    Bonjour rv_souiller,

    Si je comprends bien tu as une erreur lorsque du process ta dimension Dim_PlanCorrespondance.

    Afin de t'aider j'aurais besoin de plus d'informations :

    Tu peux m'en dire plus sur ton attribut ID_Compte_initial ?
    • Comment les attributs sont reliés entre eux ?
    • Quels types de relation Flexible ou Rigid sont utilisés?
    • Quel type de processing as-tu opéré sur la dimension ? ProcessUpdate, ProcessAdd ou ProcessFull ?
    • Quelles sont les(ou la) KeyColumns de ton attribut ID_Compte_initial ?


    Arnaud VOISIN
    Consultant BI chez WAISSO | MCITP - SQL SERVER 2008 BI
    http://arnaudvoisin.blogspot.fr/
    http://www.waisso.com/

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Janvier 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Janvier 2010
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Bonjour arnaudvoisin,

    J'ai bien 3 dimensions différentes, c'est dans le cube que je crée les relations dans l'onglet "utilisation de la dimension". Je n'ai donc pas de notion de relation Flexible ou Rigid ...
    côté KeyColumn, la propriété est réglé sur ID_Compte_initial dans le 2 dimensions. En effet, j'ai essayé en mettant, dans la Dim_PlanCorrespondance, ID en Keycolumn et ID_Compte_initial en NameColumn, mais après quand je mets en place la relation côté cube, quand je choisi ID_Compte_initial, il me met ID dans "Colonnes de la dimension" or ça ne marchera pas pour faire le rapprochement avec ID_Compte_initial du groupe de mesure ...

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 29
    Points : 48
    Points
    48
    Par défaut
    "avoir une liste de correspondance de comptes vers d'autres comptes" ... " je veux pouvoir remonter au compte en passant au travers de la Dim_PlanCorrespondance"

    Ton problème ne serait-il pas simplement un classique problème de Many-To-Many?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Janvier 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Janvier 2010
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    En utilisation finale, on aura un compte pour un compte car l'utilisateur aura pour obligation de choisir un plan de correspondance sans quoi les données n'auront aucun sens.
    Mais si on fait abstraction du cas d'utilisation, on est effectivement dans le cas d'un many-to-many à une petite différence du cas classique je ne lie pas des éléments de A avec des éléments de B par une association de clés A/B, mais A contient une FK vers B et c'est sur cette FK que je dois faire un "alias" par le plan de correspondance. Je crois que c'est la que se trouve ma difficulté.

  6. #6
    Membre averti Avatar de arnaudvoisin
    Homme Profil pro
    Consultant BI chez WAISSO
    Inscrit en
    Janvier 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant BI chez WAISSO

    Informations forums :
    Inscription : Janvier 2007
    Messages : 156
    Points : 361
    Points
    361
    Par défaut
    Tes relations entre attributs sont définit au niveau de la structure de la dimension et c'est à travers cette définition que la dimension va être traité. La notion de relation d'attribut est différent de l'utilisation de la dimension qui permet de joindre un clé de ton groupe de mesure avec un attribut de ta dimension.

    Mais comme le dit Laurent C
    Ton problème ne serait-il pas simplement un classique problème de Many-To-Many?
    Si tu veux pouvoir lier ta dimension Dim_Compte au travers de ta dimension Dim_PlanCorrespondance, tu dois définir ta table Dim_PlanCorrespondance en tant que nouveau groupe de mesure, puis définir une relation de type Many-To-Many entre ta table de fait Fact_Ecriture et ta dimension Dim_Compte.

    Arnaud VOISIN
    Consultant BI chez WAISSO | MCITP - SQL SERVER 2008 BI
    http://arnaudvoisin.blogspot.fr/
    http://www.waisso.com/

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Janvier 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Janvier 2010
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Merci pour vos explications, mais pour être sûr que vous ayez toutes les données, j'ai :
    -un groupe de mesure (GM) "plan de correspondance"
    -un groupe de mesure (GM) "Fact_ecriture"
    -une relation normale entre la Dim_compte et le GM "plan de correspondance" qui à ID_Compte fait correspondre ID_Compte_Correspondance
    -une relation normale entre la Fact_Ecriture et le GM "plan de correspondance" qui à ID_Compte_initial fait correspondre ID_Compte_initial
    -une relation plusieurs-à-plusieurs entre Dim_compte et le GM de la Fact_Ecriture en passant par le GM "plan de correspondance"

    et lorsque je process le cube entièrement (Dim et GM), j'ai une erreur lors du traitement de la Dim_PlanCorrespondance car il détecte un doublon sur l'ID_Compte_initial :
    Erreurs dans le moteur de stockage OLAP*: Un doublon de clé d'attribut a été trouvé lors du traitement de*: Table*: 'dbo_Dim_PlanCorrespondance', Colonne*: 'ID_Compte_initial', Valeur*: '214'. L'attribut est 'ID_Compte_initial'.

    Il doit y avoir un détail qui m'échappe, un réglage de propriété ou une relation incorrecte, mais la, j'avoue que je ne comprends pas où ...

  8. #8
    Membre averti Avatar de arnaudvoisin
    Homme Profil pro
    Consultant BI chez WAISSO
    Inscrit en
    Janvier 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant BI chez WAISSO

    Informations forums :
    Inscription : Janvier 2007
    Messages : 156
    Points : 361
    Points
    361
    Par défaut
    -une relation normale entre la Fact_Ecriture et le GM "plan de correspondance" qui à ID_Compte_initial fait correspondre ID_Compte_initial
    Tu me dis que tu tentes une relation Regular entre une clé d'une table de fait et un attribut d'une dimension qui n'est de fait pas unique car il fait parti de la clé composite de la table qui permet de gérer la relation Many-To-Many entre ta table de fait Fact_ecriture et ta dimension Dim_Compte.

    En effet, j'ai essayé en mettant, dans la Dim_PlanCorrespondance, ID en Keycolumn et ID_Compte_initial en NameColumn
    Je pense que mettre ta clé technique en tant que KeyColumn de l'attribut ID_Compte_initial va générer des doublons car pour un ID technique tu dois avoir plusieurs ID_Compte_initial. Je serais toi, sur ta dimension je m'arrangerais pour avoir un Attribut dont la clé serait ID_Compte_initial et dont la propriété NameColumn serait Nom_Plan et je supprimerais tous les autres attributs pour ne pas calculer d'autres aggrégats.

    Arnaud VOISIN
    Consultant BI chez WAISSO | MCITP - SQL SERVER 2008 BI
    http://arnaudvoisin.blogspot.fr/
    http://www.waisso.com/

  9. #9
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Janvier 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Janvier 2010
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Merci pour cette réponse.
    Je vais tester cette piste et je vous tiens au courant dès que j'aurai un résultat

Discussions similaires

  1. Réponses: 0
    Dernier message: 22/06/2010, 18h59
  2. Réponses: 2
    Dernier message: 16/06/2009, 11h44
  3. Réponses: 7
    Dernier message: 09/02/2009, 15h28
  4. Supprimer les doublons dans un tableau à deux dimensions
    Par ouskel'n'or dans le forum Contribuez
    Réponses: 0
    Dernier message: 30/07/2008, 10h47
  5. Supprimer les doublons dans un tableau à deux dimensions
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 30/07/2008, 10h33

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