在 ASP.NET MVC 中动态检索分析服务 (SSAS) 多维数据集数据的最佳选项
我需要在 Web 应用程序中动态添加/删除维度和事实,并从 SSAS 获取结果。 SSAS 中的多维数据集已定义并可供使用。到目前为止,我发现的最好的想法是使用 MDX 查询从 SSAS 多维数据集获取元数据并在网页中显示这些数据。然后用户可以选择所需的维度/事实,我需要构建动态 MDX 查询并从 SSAS 获取结果。与 SSAS 的通信是通过 AdomdDataReader 进行的。是否有更好的选择来解决这项任务,需要更少的努力?也许以某种方式利用报告服务(SSRS)。
I need to dynamically add/remove dimensions and facts in web application and get results from SSAS. The cube in SSAS is defined and ready to use. So far the best idea I found is use MDX queries to get metadata from SSAS cube and display those data in web page. Then user can choose needed dimensions/facts and I need to costruct dynamic MDX query and get results from SSAS. Communication with SSAS is made with AdomdDataReader. Is there better options to solve this task that require less effor? Maybe somehow make use of Reporting Services (SSRS).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您有很多选择:
使用 LINQ + ADO.NET 实体框架 + SSAS 实体框架提供程序 - 这是最简单的方法,特别是如果您需要依赖于 SSAS 数据的 ASP.NET 代码。某些数据网格(例如 ASPxGridView)将允许用户更改列顺序、筛选器和行顺序,并动态生成 LINQ 更改以响应用户操作。
ADOMD.NET + MDX - 如果您非常了解 MDX,您可以用这种方式做任何事情,但是对于动态 UI 来说这是一项繁重的工作,如果#1 可以完成这项工作,我不推荐此选项,尤其是如果您需要依赖于 SSAS / ADOMD.NET 数据的 ASP.NET 代码(MDX + ADOMD.NET 不提供类型安全,不提供重构和单元测试支持)。
(它不是 MVC,而是常规 ASP.NET 选项)为了获得最大的用户级别灵活性,请使用 XtraPivotGrid 等透视网格 - 您的用户将能够将行移动到列并向后移动,更改过滤器和顺序以及透视网格将为您生成更改后的 MDX。再次强调,如果您需要依赖于此数据的 ASP.NET 代码,我不推荐此选项。
(我在 Agile Design LLC 工作 - 该公司创建了 SSAS Entity Framework Provider)
编辑:根据评论如下:
-是的,SSAS Entity Framework Provider 可与 ASP.NET MVC 和 WebForms 配合使用。 MSI 包括一个演示 Web 应用程序。
You have a lot of options:
Use LINQ + ADO.NET Entity Framework + SSAS Entity Framework Provider - this is the easiest way, especially if you need ASP.NET code dependent on SSAS data. Some data grids like ASPxGridView will allow users to change column order, filters and row order and generate LINQ changes dynamically in response to user actions.
ADOMD.NET + MDX - you can do anything that way, if you know MDX really well, but it is a lot of work for a dynamic UI and I do not recommend this option if # 1 can do the work, especially if you need ASP.NET code dependent on SSAS / ADOMD.NET data (MDX + ADOMD.NET provide no type safety, no refactoring and unit testing support).
(It is not MVC, but a regular ASP.NET option) For a maximum user level flexibility use Pivot Grids like XtraPivotGrid - your users will be able to move rows to columns and backward, change filters and order and the pivot grid will generate changed MDX for you. Again, I do not recommend this option if you need ASP.NET code dependent on this data.
(I work for Agile Design LLC - the company that created SSAS Entity Framework Provider)
EDIT: per the comment below:
-Yes, SSAS Entity Framework Provider works with ASP.NET MVC and WebForms. The MSI includes a demo Web application.
你的意思是你必须动态修改立方体结构?如果是这样,可以通过 AMO 完成:http://msdn.microsoft.com /en-us/library/ms345093.aspx
如果您需要为 MDX 查询构建 GUI,请查看以下内容:http://ranetuilibraryolap.codeplex.com/
它不是专门针对 ASP.NET 的(尽管支持 Silverlight),也许您可以重用一些代码。
Do you mean you have to dynamically modify the cube structure? If so, that can be done via AMO: http://msdn.microsoft.com/en-us/library/ms345093.aspx
If you need to build a GUI for MDX queries, check out this: http://ranetuilibraryolap.codeplex.com/
Its not specifically for ASP.NET (Silverlight is supported though), perhaps you can reuse some of the code.