2012-02-10 60 views

回答

1

您可以添加在聚合最後處理的calculated member。讓我們假設你定義A和B措施:

WITH 
    MEMBER [Measures].[A/B] AS ([Measures].[A])/([Measures].[B]) 
SELECT 
... 

您可以在多維數據集定義添加計算的成員,因此將在所有MDX語句可用。可以肯定的是,請注意Sum(A)/ Sum(B)!= Sum(A/B),如果需要,您可以添加檢查0/null。

0

據我所知,你有一個計算字段(列A /列B)在SQL DB或DSV(數據源視圖)。因此,您可以爲每列創建兩個SUM度量值(A列爲一個總和度量值,第二個爲B列),並將其用於新計算的度量值中。

1

你想要的是SUM(列A)/總和(列B)而不是SUM(所有單獨的列A /列B)。然後我假設你有兩個措施:sum_column_asum_column_b

要創建新措施sum_column_a_b你應該創建一個計算的成員:

  • 在Visual Studio中計算選項卡上打開你的立方體
  • 點擊
  • 點擊腳本視圖並粘貼此代碼:

要粘貼的代碼:

CREATE MEMBER CURRENTCUBE.[Measures].[sum_column_a_b] 
AS iif( [Measures].[sum_column_b] > 0, 
     [Measures].[sum_column_a]/[Measures].[sum_column_b], 
     0), 
FORMAT_STRING = "Percent", 
VISIBLE = 1 , ASSOCIATED_MEASURE_GROUP = 'yourDesiredGroup'; 

處理多維數據集時,此新度量將可用。