2013-04-10 86 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有更多的應用程序>