J'essaie de faire correspondre la fonctionnalité de création de rapports existante tout en créant un nouveau cube pour une validation de concept. Puis-je récupérer des données de mon cube à l'aide d'une requête MDX et les placer dans un jeu d'enregistrements afin de remplir une feuille Excel avec les données?Récupérer le jeu d'enregistrements MDX
Répondre
Avez-vous envisagé de vous connecter à partir d'Excel directement à Analysis Services et d'utiliser la fonctionnalité intégrée de requête glisser-déposer? Excel va générer le MDX pour vous.
Je ne l'ai jamais fait, mais il devrait être possible d'intégrer ADOMD.NET dans une application VSTO, qui fonctionnera ensuite dans Excel. Vous pourriez également être en mesure d'accéder à certaines des machines de requête MDX Excel directement de cette façon ....
La meilleure façon de travailler avec OLAP et Excel est détaillée ici: Simpler interface for SQL Server analysis services cubes for end users
Si vous voulez écrire votre propre MDX à la place d'utiliser glisser-déposer, vous ne pouvez pas le faire avec Excel autant que je sache. Toutefois, la plupart des langues vous permettent de déclencher un MDX sur un cube, puis vous pouvez boucler le jeu d'enregistrements vous-même pour créer un fichier CSV.
Ou encore plus simple, utilisez l'Analyseur de requêtes SQL Server comme celui-ci, et enregistrer les résultats dans un fichier CSV:
SELECT TOP 100 * FROM OPENROWSET('MSOLAP',
'Datasource=MyHotServer;Initial catalog=MyLovelyCube',
'SELECT {dimensions(0).members} ON ROWS, {time.defaultmember} ON COLUMNS FROM sales')
(NB Si vous ne connaissez pas encore MDX .... ne démarre pas apprendre à moins que vous ne le deviez vraiment! Ce n'est pas aussi simple que SQL, et vous pouvez vous en passer sans cela habituellement.)
Eh bien, un jeu d'enregistrements ADoMD vient au format d'un jeu d'enregistrements Cubed. Assez fantastiquement, j'ai un scénario où j'ai besoin de faire des fichiers plats avec EXCEL. –
Vous pouvez également dire que la réponse à toutes les requêtes MDX est un "jeu d'enregistrements en cubes". Il s'agit d'un processus simple pour transformer un CellSet (l'équivalent ADOMD d'un DataSet) en un objet bidimensionnel. Dans le cas où cela aide, je donne un exemple détaillé dans mon livre (Ultra-Fast ASP.NET). – RickNZ