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 :

[2008R2] Construction DSV (left outer join ?)


Sujet :

SSAS

  1. #1
    Inactif  
    Homme Profil pro
    Responsable BI
    Inscrit en
    Mars 2015
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Responsable BI
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2015
    Messages : 62
    Points : 37
    Points
    37
    Par défaut [2008R2] Construction DSV (left outer join ?)
    Bonjour,

    Je suis actuellement coincé sur un souci assez énervant. Mon cube est basé sur les commandes clients auquel je rajoute mes différentes vues clients, articles etc...

    Les commandes clients sont segmentées par ligne (différents articles)
    Nom : Dsv_CdeClient.png
Affichages : 276
Taille : 13,2 Ko

    Chaque ligne comprend un article (numéro séquentiel ARTEX) qui est lié à ma vue Article Infos.

    J'aimerais rajouté, à ça la table Catalogue, car les articles peuvent appartenir à 0 ou plusieurs Catalogues.

    Seulement voilà, j'ai essayé de rattaché cette table directement à la vue Cdes ou à la vue Article dans la source de données (YNOMCAT correspond à mon nom catalogue) et rajouté une dimension, je ne sors qu'un seul catalogue (au hasard) pour chaque article et donc impossibilité de filtrer au final sur les catalogues.

    http://nsa37.casimages.com/img/2015/...0554679129.png

    J'ai essayé de rajouter à ma vue articles infos, directement en SQL, même problème. Pourtant j'ai plusieurs lignes par articles par catalogue dans ma base.

    http://nsa37.casimages.com/img/2015/...0554604135.png

    J'ai l'impression que mon lien ne se fait que par rapport à ma ligne commande et donc mon article "unique".

    J'ai dû louper un truc de base, mais je ne trouve pas du tout.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Je ne suis pas sûr d'avoir tout compris, mais voici un début de réponse :

    A partir du moment où un Article peut appartenir à 0 ou plusieurs Catalogues, il va s'agir d'une relation Many-To-Many il me semble.

    Il faudrait partir sur une table de type "Bridge_ArticlesCatalogues" (FK_Article, FK_Catalogue)

  3. #3
    Inactif  
    Homme Profil pro
    Responsable BI
    Inscrit en
    Mars 2015
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Responsable BI
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2015
    Messages : 62
    Points : 37
    Points
    37
    Par défaut
    Salut,

    Je regardais justement vers cette solution. Du coup, la relation plusieurs vers plusieurs, je dois la faire au niveau de ma vue Article Infos ou de la vue Cdes sachant que c'est toujours lié à mon ARTEX de la vue Cdes.


    En tout cas, merci pour cette piste de réflexion, je n'ai jamais eu besoin de faire du many to many jusqu'à maintenant

  4. #4
    Invité
    Invité(e)
    Par défaut
    Je ferais cette table Bridge entre Article et Catalogues.
    Ainsi, ta ligne de Table de Fait Commandes va être lié à un article, qui lui sera lié à 0-N Catalogues.
    Attention cependant à la visualisation des totaux ! (Répartition Catalogues des montants/quantités commandes)

    Je te conseille de télécharger ce livre blanc sur le ManyToMany de Marco Russo : http://www.sqlbi.com/articles/many2many/. Très bonne doc

  5. #5
    Inactif  
    Homme Profil pro
    Responsable BI
    Inscrit en
    Mars 2015
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Responsable BI
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2015
    Messages : 62
    Points : 37
    Points
    37
    Par défaut
    J'ai commencé à regardé, effectivement la doc est assez claire et ma relation tout a fait simpliste. Cependant, il y'a quelque chose qui m'échappe.

    La table bridge est une table que je dois créer dans ma BDD où il y'a possibilité de la créer directement depuis SSAS ?

    Après, pour la suite je pense pouvoir me débrouiller : je créé ma dimension catalogue, je rajoute dans utilisation de dimension ma nouvelle mesure en faisant une relation plusieurs à plusieurs si j'ai bien tout suivi.

    Bref, ça devrait le faire, juste ce point concernant la table bridge.

  6. #6
    Inactif  
    Homme Profil pro
    Responsable BI
    Inscrit en
    Mars 2015
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Responsable BI
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2015
    Messages : 62
    Points : 37
    Points
    37
    Par défaut
    Bon du coup, j'ai presque répondu à mes questions car effectivement, en créant une table dans ma base, j'ai réussi à faire ma relation plusieurs à plusieurs.

    Seulement je pense qu'il manque un lien quand même car dans mon tableau croisé dynamique, j'ai perdu les données de la vue articles infos alors que les totaux semblent justes et quand je rajoute la désignation article de la table catalogue, j'ai mes articles qui apparaissent et qui ont bien le lien avec Cde Clients.

    Du coup, quelques questions :
    - Faut que ma dimension articles infos soit lié avec le bridge ? (c'est le cas pour ma dimension catalogue que j'ai créé, la dimension articles infos existait déjà).
    - cette table Bridge doit-elle être remplie par les données de mes tables catalogues et articles infos ?
    - si oui, puis-je au lieu de faire une table, créer une vue avec ces champs là (ça permettrait d'éviter de devoir mettre à jours ma table chaque jour).
    -au niveau de mon groupe de mesure créé (qui me sert au final un peu à rien), je peux le masquer (visible false) ?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Salut,

    Peux-tu refaire un screenshot de ta dsv pour comprendre où tu en es ?
    Qu'entends-tu par "perdre les données de la vue ArticleInfo dans le TCD" ?

    Je pense que :
    Cette table Bridge doit etre composée de (FK_Catalogue, FK_Article) : réponse à ta question 2.
    Comme ces FK sont des clés étrangères, elles sont donc liées à ta dimension Article et à ta dimension Catalogue (et non à ta table de fait) : réponse à ta question 1.
    Pour ta question 3 ... Je ne comprends pas. la table bridge doit contenir des couples "Articles / Catalogues" qui existent. C'est peut-être mieux de l'alimenter en BDD via ETL non ?

    Et attention, comme ta table Bridge fait le lien entre Articles & Catalogues; si ta dimension Articles est bien liée à ta table de fait, tu ne dois pas avoir de lien direct entre ta table de fait et ta dimension Catalogues.
    Donc ca donne (Table de fait)--->(ArticlesInfo)--->(Bridge_Article_Catalogue)<---(Catalogues)

  8. #8
    Inactif  
    Homme Profil pro
    Responsable BI
    Inscrit en
    Mars 2015
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Responsable BI
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2015
    Messages : 62
    Points : 37
    Points
    37
    Par défaut
    Salut,

    J'ai un peu avancé sur ce point (d'autres projets sont venus se greffer).

    J'ai créé dans ma DSV, bridge catalogue qui fait le lien entre ma table catalogue et ma vue article. Bridge catalogue est une vue de ma table et article infos qui me permet d'avoir des données toujours juste dedans :



    J'ai rajouté les dimensions comme indiqué dans le PDF :



    Lors du traitement de la stat, de nombreux articles passent en erreur (je pense qu'en fait, il se base sur les articles ayant un catalogue), or je veux que la rubrique catalogue puissent être vide quand l'article n'est pas dans un catalogue. Actuellement, il passe les articles sans catalogue en Unknown.

    Quand je vérifie ensuite les articles pas en erreur, je constate comme avant qu'un seul catalogue est renseigné, le lien semble fonctionné, mais je ne sais pour quelle raison, il ne sélectionne qu'un article. Les clés sont composites (mandkenn est le numéro d'instance ou société de l'entreprise) c'est toujours SN + Mandkenn ou autre.



    Voilà ce que j'ai dans la base.

    Bridge :



    Table Article et ensuite la table Catalogue



    Voilà, j'espère qu'il y'a assez d'infos, sinon je complête

  9. #9
    Inactif  
    Homme Profil pro
    Responsable BI
    Inscrit en
    Mars 2015
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Responsable BI
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2015
    Messages : 62
    Points : 37
    Points
    37
    Par défaut
    Bonjour,

    Je me permet de vous relancer là dessus car je suis toujours coincé (même si j'ai eu un autre projet à gérer entre temps).
    Quelqu'un aurait une idée, ça me semble pourtant être un problème tout bête mais pour quelqu'un de relativement récent dans le métier et avec peu de formation, c'est assez compliqué.

  10. #10
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 139
    Points : 73
    Points
    73
    Par défaut
    Bonjour,

    Tu ne paramètres pas ton LEFT JOIN dans la DSV mais entre tes faits et tes dimensions du cube en utilisant les 'unknown member'.


    Je ne connais pas le Many to Many, je ne peux pas te renseigné.
    Mais pourquoi ne pas faire simplement une table de fait entre Catalogue, Article et commande.
    Ainsi tu auras tes infos, par catalogue, par article à partir d'un commande.
    Tu créées un groupe de mesure sur la table fait (ex nb article) et pour avoir un LEFT JOIN sur toutes les dimensions tu paramètres dans SSAS comme ceci :

    Dans tes dimensions catalogue et article, tu mets en Propriété "UnknowMember" : 'Visible' et "UnknowMemberName" : ' '.
    Ensuite dans ton groupe de mesures, tu mets en Propiété Error Configuration : KeyNOTFound = IgnoreError et KeyErrorAction=ConvertToUnknow et NullKeyConvertedtoUnknown = IgnoreError.


    Ainsi, tu pourras voir tes articles même s'ils ne sont pas en catalogue et vice et versa à partir d'une commande.

Discussions similaires

  1. Construction requête : problème avec un LEFT OUTER JOIN
    Par riomois85 dans le forum Développement
    Réponses: 6
    Dernier message: 22/08/2014, 14h25
  2. Bug LEFT OUTER JOIN Firebird
    Par Fabio2000 dans le forum SQL
    Réponses: 3
    Dernier message: 21/11/2005, 09h08
  3. Problème avec left outer join
    Par jgfa9 dans le forum Requêtes
    Réponses: 1
    Dernier message: 22/08/2005, 21h07
  4. Problème de performance avec LEFT OUTER JOIN
    Par jgfa9 dans le forum Requêtes
    Réponses: 6
    Dernier message: 17/07/2005, 13h17
  5. concatenation de chaine dans un left outer join
    Par the_edge dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 11/11/2004, 16h08

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