Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2275 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  PivotTable + OLAP + Hiérarchie = Casse-tête chinois

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PivotTable + OLAP + Hiérarchie = Casse-tête chinois

n°2044745
Elmoricq
Modérateur
Posté le 28-12-2010 à 09:30:44  profilanswer
 

yo [:elmoricq]

 

Je n'espère pas vraiment une solution, mais sait-on jamais.

 

J'ai un cube dans une base OLAP, auquel les utilisateurs accèdent via un TCD sous excel.
Dans ce cube, j'ai une dimension D constituée de trois membres, au même niveau : A, B et C.

 

Ce que je cherche à faire : coller ma dimension en xlPageField (facile), et en changer la valeur pour forcer un filtrage des données.
La requête MDX correspondante est donc (simplifié) : [D].&[valeur A]&[valeur B]&[valeur C]

 

Problème : la valeur que je souhaite forcer est entrée par l'utilisateur, et je ne dispose que de A comme valeur. Je dois donc soit demander à excel de ne filtrer que sur A, soit déduire B et C via une requête MDX ad hoc.

 

Pour la première solution, il me suffirait de forcer le filtrage avec la requête MDX [D].[A].[All].[valeur A]. Sauf que je me prends une erreur 1004 lorsque j'essaie cette solution, quoique je tente (PivotField.CurrentPageName, PivotField.VisibleItemsList, and so on).
J'ai l'impression que excel n'accepte que les requêtes de type  [D].&[valeur A]&[valeur B]&[valeur C] et pas autre chose. :/

 

Pour la seconde, je n'ai pas trouvé de moyen de requêter ma source de données externe directement en VBA. Pourtant si j'y arrivais, ce serait facile... J'ai tenté de passer par ADODB, mais ActiveX semble interdit et n'est donc pas une option, ce qui ne me facilite pas vraiment la tâche.

 


Dernier truc : lorsque j'enregistre la macro ou lorsque je trace les requêtes envoyées à mon cube sous SSAS (avec le SQL Profiler), je ne vois pas de requête intermédiaire de la part de excel pour déduire B et C à partir de A. Je me dis donc qu'il récupère toute la hiérarchie et n'affiche que A, avec B et C en mémoire. J'ai regardé un peu PivotCache, mais je ne trouve pas de moyen de récupérer ces données.

 

Si quelqu'un a une piste, je suis preneur, parce que là je ne vois plus que la solution consistant à créer une dimension dédiée à A tout seul pour arriver à mes fins.
... je hais vraiment ces fichus logiciels qui veulent te simplifier les choses et qui te proposent un satané noeud gordien dès que tu sors un peu des clous :fou:


Message édité par Elmoricq le 28-12-2010 à 09:40:01
mood
Publicité
Posté le 28-12-2010 à 09:30:44  profilanswer
 

n°2044787
kiki29
Posté le 28-12-2010 à 13:10:58  profilanswer
 
n°2044792
Elmoricq
Modérateur
Posté le 28-12-2010 à 13:24:24  profilanswer
 

Malheureusement, le seul truc intéressant dans mon cas actuel dans ces liens, c'est OLAP PivotTable Extensions. Sauf que si c'est un outil externe à déployer chez les utilisateurs, c'est mort : mes utilisateurs sont des traders, et pour des raisons de sécurité, on ne peut pas déployer n'importe quoi (sans compter la difficulté de déploiement sur des plateformes types citrix pour les utilisateurs à l'étranger). D'où l'impossibilité mentionnée plus haut d'utiliser ADODB, qui nécessite ActiveX.
Au point que ce sera plus simple de définir une dimension du cube dédiée à ce que j'ai besoin de faire plutôt que d'envisager l'adoption d'un outil externe, même s'il s'agit d'un simple add-in.

 

Le reste des questions abordées, malheureusement, parle trop des TCD et pas assez de l'interfaçage avec OLAP pour que cela puisse m'aider. Mon souci ne vient pas tant de l'utilisation du TCD que d'arriver à faire rentrer le MDX que je veux dans un champ en xlPageField. :/

 

Sauf si j'ai manqué un truc dans ces liens, bien sûr...


Message édité par Elmoricq le 28-12-2010 à 13:26:03

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  PivotTable + OLAP + Hiérarchie = Casse-tête chinois

 

Sujets relatifs
[MDX] Condition WHERE sur une hiérarchieCasse-tête Script sauvegarde server
[resolu] JS affichage d'image cassé :-(Récuperer une liste de valeurs a partir d'une hierarchie en html
WORD VB Comment supprimer des liaisons dans l'en-tête?Rendre Replace insensible à la casse
Générer une image monochrome en 16x16 pixles d'un caractère chinoisCSS et pages en chinois : aide bienvenue !
Casse-tête... Class Library C++/CLI vers C#? 
Plus de sujets relatifs à : PivotTable + OLAP + Hiérarchie = Casse-tête chinois


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR