none
Accès aux propriétés de membres par ADOMDClient RRS feed

  • Question

  • Bonjour,

    J'ai une base SSAS liée à un datawarehouse sous SQL SERVER 2005.

    Je souhaiterais accéder aux propriétés de membres d'une de mes dimensions via les objets "Member" proposés par ADOMD.NET

    Malheureusement, la collection "PropertiesMember" reste despérement vide alors que je sais qu'elle devrait contenir des propriétés. Est-ce un bug connu et recensé ? Je pourrais évidemment contourner le problème en allant attaquer directement la base relationnelle mais cette solution serait moins élégante.

    Peut-être que je m'y prends mal et qu'une commande est à passer avant d'accéder à cette collection ? (Comme pour la collection des propriétés du même objet qui se remplit grâce à la méthode MonObjetMembre.FetchAllProperties() )

    Quelqu'un a-t-il rencontré les mêmes difficultés ?

    Merci par avance.

    AP

     

    jeudi 22 février 2007 09:27

Toutes les réponses

  • Bonsoir,

    Avez vous le code exact que vous utilisez ?

    Sinon d'après la MSDN (http://msdn2.microsoft.com/en-us/library/ms675819.aspx) c'est un simple for each à réaliser sur la collection Properties de Member.

    En attendant votre code.

    Cordialement

    jeudi 22 février 2007 19:41
  • Bonjour,

    tout d'abord permettez moi de vous remercier pour votre réponse.

    En ce qui concerne la boucle For Each c'est effectivement la méthode que j'utilise.

    Voici une partie de mon code :

    For Each oNiveau In oConnexionAdomd.Cubes("$" & "MaDimension").Dimensions(1).Hierarchies("MaHierarchie").Levels

                   oCollectionMembres = oNiveau.GetMembers

                   For Each oMembre In oNiveau.GetMembers

                     'Ici un traitement spécifique pour chaque membre

                                  For Each oPropMembre In oMembre.MemberProperties

                                                       'Ici un traitement spécifique pour chaque propriété de membre

                                  Next

                   Next

    Next

    Ce code fonctionne bien puisque je peux gérer mes différents membres selon leur niveau dans la hierarchie de la dimension. Cependant, donc, je n'arrive à faire remonter aucune propriété de membre. D'ailleurs la valeur renvoyée par la propriété oMembre.MemberProperties.Count est 0. Pour certains membres c'est tout à faire normal (mes noeuds) qu'il n'y en ai pas mais pour d'autres (mes feuilles) je sais que cette collection ne devrait pas être vide. Je les vois très bien, notamment, quand je parcoure ma dimension sous Microsoft SQL Server Management Studio.

    A moins que je m'y prenne mal je suppose que c'est un bug de l'API. Et j'esperais le voir corrigé dans le SP2 de SQL Server 2005, mais apparament ....

    vendredi 23 février 2007 08:23