2013-04-10 57 views
2

我在看复数的SSRS训练,他们使用常规的sql来获取数据到数据集。我只是在学习mdx,当我使用数据集的时候,我到目前为止只使用mdx来获取数据。我应该/可以混合这个,我应该使用SQL而不是mdx吗?我不想,现在我开始享受mdx了。为什么在ssrs中使用sql语言代替mdx语言?

回答

5

MDX通常用于对付多维立方体,并且有一些SQL专门用于此目的的命令。如果你的数据源是一个数据库,而不是一个多维数据集,但是据我所知,SQL是最常用的。 SQL和MDX的

比较:http://msdn.microsoft.com/en-us/library/aa216779%28v=sql.80%29.aspx

+0

MSDN链接听起来像MDX是SQL的超集,但我认为这是非常具有误导性的。 MDX是用于某些非常特定的目的,它不用于这些目的之外。 SQL是几乎所有涉及数据库的常用标准,它几乎不会改变为MySQL,Oracle和每个会计软件包。一般来说,你将需要SQL,你现在应该学习它。特别是,SSRS报告应该基于SQL而不是MDX。如果你跳过SQL,你自己没有好处。 – criticalfix 2013-04-10 14:05:00

+0

我想我应该使用MDX查询对立方体时,猜他们(pluralsight)使用关系数据库,没有想到... ... – 2013-04-10 14:47:59

3

MDX语言= OLAP立方体(SSAS)

SQL语言=关系数据库。

OLAP立方体用于报告和性能原因。当需要数据或信息并涉及大量数据集合或从关系数据库计算大量数据时,可以创建OALP多维数据集,以便有时更好地处理数据需求的需求。 MDX是用于从多维数据集中提取数据的查询语言。

下面是一个帮助示例。您需要为报告提取一些数据。您可以对此数据使用SQL语句或多维数据集(MDX)。您使用SQL语句进行测试,但查询需要5分钟才能运行。或者使用多维数据集,您可以将相应的SQL语句添加到多维数据集设计中,从而使SQL查询结果即时可用。这怎么可能? Cube是充满预运行计算和数据聚合的关系数据库。预运行,这意味着它们在较早的时间运行或处理,可能在每个人都在家的夜晚。

MDX仅针对一个报表程序,即SQL Server Reporting Services(SSRS)。 SQL绑定到多个不同的数据库程序。通常,了解MDX的人已经是专家或非常熟悉SQL。我首先要学习SQL,因为它比MDX有更多的应用程序>