SQL - 查询多维数据集
Posted
技术标签:
【中文标题】SQL - 查询多维数据集【英文标题】:SQL - Query Cubes 【发布时间】:2009-02-02 20:23:56 【问题描述】:所以我刚刚在我们的一个 SQL 数据库中收到了一个到 Cube 的连接字符串。我应该根据这些数据创建一个可以通过电子邮件发送给 30 个人的报告。
我宁愿写一个存储过程,让 s-s-rS 在它应该发送的时候发送它。问题是数据库非常复杂,我不确定我是否可以匹配所有内容并获取正确的信息。
我是否可以编写一个存储过程来查看多维数据集中的信息?
我不确定这是否重要,但数据库和多维数据集位于同一 SQL 服务器上。
任何有关立方体的信息都会有所帮助。我知道它们会根据它们可能最常用于的用途进行一些预先计算。
谢谢
【问题讨论】:
【参考方案1】:Try OpenQuery and/or OpenRowset and pass through the MDX
【讨论】:
【参考方案2】:您可以使您的报表使用常规存储过程,但该存储过程仍然需要运行针对多维数据集的 MDX 查询(通过 OLEDB)。
我不确定您使用的是什么报告;特别是无论它是本地报告还是基于服务器的报告,但 SQL Server 基于服务器的报告确实有一个 MDX 生成器,它对初学者隐藏了 MDX 语法,并且足以填充简单的表(s-s-rS 2008 中的 Tablix)和基于矩阵的报告。对于更复杂的报告,它有助于学习 MDX 语法。
如果您使用的是本地报告(在应用服务器上运行,而不是在报告服务器上运行),您必须了解 MDX 语法,因为您必须使用此 MDX 查询通过您计算机上的 OLEDB 提供程序来查询 Analysis Services Cube中间件组件。
还有一点,当您需要向下钻取和/或从摘要向下钻取到详细信息时,最好使用多维数据集。它们最适合用于对具有维度信息的数据(度量)进行切片和切块。矩阵控件是查看多维数据集中数据的最佳工具,其中数据单元格本身表示一个度量,该单元格的列和标题表示一个度量。然后,矩阵将根据您选择的维度自动“转换”数据。
【讨论】:
【参考方案3】:两种不同的语言——T-SQL 是用于查询关系数据的 RDBMS 工具;与您使用 MDX 的多维数据集对话。
【讨论】:
你能把MDX放在一个存储过程中吗?在还包含 T-SQL 的存储过程中? 您可以使用 OPENROWSET。 MDX 必须返回一个 2D 结果集。以上是关于SQL - 查询多维数据集的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python 查询 SQL Server Analysis Services (SSAS) 多维数据集数据