2014-05-21 177 views
0

有沒有人有任何經驗在Excel中編寫CUBE *函數?CUBEFUNCTIONS - 一個失敗,然後都失敗?

我正在通過這些函數針對OLAP db寫入這些函數,並在db處觸發MDX字符串。

似乎在某些情況下,如果其中一個函數失敗並返回#NA,那麼它們都會失敗。

是否有具體的MDX函數不應在這些Excel函數中使用?

下面是一些例子:

1. MDX字符串:

PARALLELPERIOD([Date].[Date - Calendar Month].[Calendar Year],1,TAIL([Date].[Date - Calendar Month].[Calendar Day].MEMBERS,1).item(0)) 

立方函數:

=CUBESET("connectionToCube","PARALLELPERIOD([Date].[Date - Calendar Month].[Calendar Year],1,TAIL([Date].[Date - Calendar Month].[Calendar Day].MEMBERS,1).item(0))") 

2. MDX字符串:

TAIL([Date].[Date - Calendar Month].[Calendar Day].MEMBERS,1).item(0) 

魔方功能:

=CUBEMEMBER("connectionToCube","TAIL([Date].[Date - Calendar Month].[Calendar Day].MEMBERS,1).item(0)") 

編輯

此工作簿中還含有包含自定義幾組數據透視表。這些集保存在以下設置:

enter image description here

難道這是造成某種衝突的?


編輯

另一個稍微複雜MDX字符串是我使用捕捉到7天週期的最後7天之前什麼:

MDX:

Tail([Date].[Date - Calendar Month].[Calendar Day].MEMBERS,1).item(0).lag(7):Tail([Date].[Date - Calendar Month].[Calendar Day].MEMBERS,1).item(0).lag(13) 

CUBE *功能:

=CUBESET("LiveDealer_LiveDealer2",("Tail([Date].[Date - Calendar Month].[Calendar Day].MEMBERS,1).item(0).lag(7):Tail([Date].[Date - Calendar Month].[Calendar Day].MEMBERS,1).item(0).lag(13)")) 

回答

1

我還沒有找到任何我不能在Excel立方體函數中使用的MDX函數。我根據AdventureWorks Tabular模型嘗試了多維數據集函數的變體,並且它們工作正常。在第一個例子,你有:

=CUBESET("connectionToCube","PARALLELPERIOD([Date].[Date - Calendar Month].[Calendar Year],1, 
TAIL([Date].[Date - Calendar Month].[Calendar Day].MEMBERS,1).item(0))") 

在AW表格模型的日期層次被稱爲日曆和有水平的一年,學期,季度,月,日。我的立方體的功能是:

=CUBEMEMBER("AWCube","PARALLELPERIOD([Date].[Calendar].[Year],1, 
TAIL([Date].[Calendar].[Day].MEMBERS,1).item(0))") 

我不知道爲什麼你選擇在那裏使用立方體。你總是隻返回一個項目,所以我把它變成了一個立方體成員,所以它會直接返回成員,而不需要我給它添加標題。如果你在這裏使用一個cubeset並且沒有標題,它會在Excel中返回一個空白的單元格,但它正在工作。你可以通過在excel中使用該cubeset寫入cuberankedmember函數來檢查。

關於第二個例子,你有:

=CUBEMEMBER("connectionToCube", 
"TAIL([Date].[Date - Calendar Month].[Calendar Day].MEMBERS,1).item(0)") 

我的公式是:

=CUBEMEMBER("AWCube", 
"TAIL([Date].[Calendar].[Day].MEMBERS,1).item(0)") 

我沒有看到任何這方面的重大差異,因此檢查成員的姓名,括號中的任何小的差異。

+0

marie - 只是有一個想法,這些工作簿有一個數據透視表(與自定義集合)和立方體函數的混合 - 我不知道是否重新計算樞軸中的自定義集是干擾CUBESET函數的更新?我會從CUBESET簡化到CUBEMEMBER,因爲你發現這可能會有所幫助。 – whytheq

+0

讓我給OP添加另一個函數,它看起來像在工作,但也許我已經過度複雜它,因此導致了一個問題 – whytheq

+0

這裏是另一個CubeFunction的問題,你可以幫助:http://stackoverflow.com /問題/ 25014900 /使用-一個元組-AS-的排序按參數的-優異-cubeset功能 – whytheq