2017-10-15 102 views
2

我想了解OLAP-cube操作(即向上/向下鑽取,切片/切割和旋轉)和MDX是如何相關的。 我目前的猜測是,對MDX的OLAP-cube操作就像關係代數到SQL。但是,我沒有看到MDX的一些基本功能如何對應於OLAP-cube操作。例如,考慮附帶icCube上演示「銷售」魔方以下查詢:OLAP-cube操作和MDX如何關聯?

SELECT {([Ottawa],[2009]), ([United States],[Feb 2010])} on Rows, 
     [Measures].members on Columns 
FROM [Sales] 

如何使用元組(例如([Ottawa],[2009]))對應於一個OLAP立方體操作?

+0

MDX回報「東西」給你看在一個OLAP客戶端。當您在OLAP客戶端中向下鑽取時,客戶端會根據您的位置和所鑽取的內容以及多維數據集中的層次結構定義來確定一些新的MDX,然後提交該MDX並顯示結果。 –

+0

@ Nick.McDermaid你是說OLAP-cube操作符是可視化工具預期實現的?特別是,如果我直接從我的應用程序(例如用C#編寫)發送MDX查詢並獲取對象,那麼OLAP-cube操作符是關於訪問該對象的各種方法? – AlwaysLearning

+0

你能否澄清你的意思是「OLAP-cube operators」。你的意思是一個OLAP客戶端程序?或者您的意思是MDX語言中的實際運營商(+, - )? –

回答

2

是的,「OLAP-cube操作是可視化工具預期實現的功能」。 MDX是針對產生結果的立方體執行的查詢語言。 OLAP客戶端通常針對多維數據集運行MDX。如該維基百科中所述的「OLAP多維數據集操作」通常是由一個人對客戶端應用程序中的多維數據集執行特別分析的結果。

立方提供了一個結構和通常使這些類型的操作更容易訪問的語言(或至少更快)

如何MDX涉及到一個「向下鑽取」操作?例如?

首先,一些MDX已經運行併產生了立方體的某種視圖(通常是一些行,某些列和交叉點上的度量,儘管MDX語言語法不僅限於兩個軸)。

因此,一個人看到這些信息,並決定在該行中的單個項目上鑽取(此項目之前由某個MDX返回)。因此,OLAP客戶端會生成一些MDX,以提供項目的向下鑽取視圖

它可能只是將兒童MDX函數添加到相關項目中。或者它可能會以其他方式做到這一點。這取決於客戶端。

繼承人你如何能在一個OLAP客戶端之間的相互作用(哪一個?無所謂)偷聽一些介紹性的信息和SSAS立方體

https://docs.microsoft.com/en-us/sql/analysis-services/instances/introduction-to-monitoring-analysis-services-with-sql-server-profiler

0

你能想到的MDX查詢多維數據集內的指定區域或空間的區域 - 元組是給處理器座標對應於您感興趣的多維數據集的部分主要方式

它是您指定給出結果的座標和切片的交點。

MDX是密切相關的設置理論爲主要類型withing立方體的維度,集合,元組,成員等

+0

聽起來你的答案是MDX不是基於OLAP-cube運算符。那麼,什麼是OLAP-cube運營商? – AlwaysLearning

+1

什麼是OLAP多維數據集操作符? – ic3

+0

@ ic3我的意思是*操作*。請參閱https://en.wikipedia.org/wiki/OLAP_cube#Operations。 – AlwaysLearning

0

MDX查詢定義了一個表,併爲每個表格單元格,我們已經一個元組。在您的方案假設我們已經兩項措施(MEAS1,將Meas2):

([Ottawa],[2009],[Meas1])     ([Ottawa],[2009],[Meas2]) 
([United States],[Feb 2010],[Meas1])  ([United States],[Feb 2010],[Meas2]) 

關於該單元的元組您可以添加WHERE子句,SubQuery那可能比ALL(不建議)不同的默認值。請記住,所有人都是被忽略的「特殊」成員。

一個元組定義了一個單一的度量Meas1或Meas2,它將通過一個測量列(通常是一個數值)選擇'事實表'。其他成員用於選擇表格中的行,在其上執行由元組成員(例如渥太華和2009)定義的所有行上由度量(sum,min,max ...)定義的聚合。正如Theq解釋的那樣,與成員一樣,你有很多變革可以與成員一起「玩」。

這是一個簡單的願景,因爲您可以使用calculated members來定義轉換而不是簡單的行聚合(例如與前一年的差異),並且某些aggregations有點棘手(打開,關閉...)。

但是,如果你明白這一點,那麼你就理解了MDX的理想基礎。

+0

我對@whytheq回覆的評論也適用於您的回覆。 – AlwaysLearning