2013-07-09 32 views
1

我在我的立方體下面的腳本:計算的成員沒有顯示總計

/* 
The CALCULATE command controls the aggregation of leaf cells in the cube. 
If the CALCULATE command is deleted or modified, the data within the cube is affected. 
You should edit this command only if you manually specify how the cube is aggregated. 
*/ 
CALCULATE; 

CREATE MEMBER CURRENTCUBE.[Measures].[Scope TEST] 
AS 
STRTOVALUE(2), 
VISIBLE = 1; 

SCOPE([Locations].[LocationName].Members, [Measures].[Scope TEST]); 
this = SUM([Locations].CURRENTMEMBER, STRTOVALUE(1)); 
END SCOPE; 

什麼,我想爲劇本做,如下;

我有5個位置,所以當我添加度量值scope test它應該在每行之後顯示1。這很好。

但是,它在總行中不顯示5。

這是一個試圖使用的腳本的簡化版本。在那個腳本中,我還沒有使用範圍,但是使用範圍語句或者沒有它,因爲沒有區別,所以它並不重要。

如果任何人都可以指出我在正確的方向,任何幫助將不勝感激。

回答

1

你看到總數爲1嗎?如果是這樣,則可能是SUM(ALL,1)= 1,因爲ALL成員在某種程度上算作單個成員。

嘗試添加所有成員的後代到這樣的計數,讓我們知道如何去:

SCOPE([Locations].[LocationName].Members, [Measures].[Scope TEST]); 
this = SUM(DESCENDANTS([Locations].CURRENTMEMBER, , AFTER), STRTOVALUE(1)); 
END SCOPE; 

子孫函數將返回集合的後代,所以所有的成員都會有它的所有兒童(成員)對該集進行評估。所以你會得到五個成員,總結,在每一個應該給你的數字5.

+0

嗨梅夫,感謝您的迴應。我們已通過類似於您的提案的方式解決了此問題。這對所有成員來說的確是一個問題。 – wterbeek