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 - 查询多维数据集的主要内容,如果未能解决你的问题,请参考以下文章

sql查询聚合与聚合和查询OLAP多维数据集的区别

Druid SQL 查询汇总和多维数据集不起作用

使用 Python 查询 SQL Server Analysis Services (SSAS) 多维数据集数据

多维数据集 SQL ORA-00936 缺少表达式

哪种 NoSQL 技术可以替代 MOLAP 多维数据集进行即时查询?

为最终用户提供更简单的 SQL Server 分析服务多维数据集界面