我一直在嘗試一段時間來創建一個(有點複雜?)單元格計算,我需要使用動態公式,但不工作。最後,我獲得了mdx表達式作爲單元格值,這是錯誤的。這裏是我的表達:動態mdx表達式的CELL計算
-----------------------------------------------------------------------
---SET With 2 elements(Sales Fcst(20131223), Sales Fcst(2014))
WITH SET [CategoryFcst] AS
FILTER([Category].[Category].children, InStr([Category].[Category].CURRENTMEMBER.MEMBER_CAPTION,"Sales Fcst") > 0)
CELL CALCULATION SalesPlanAch FOR
'([Category].[Category].[Sales Plan Att%], [Measures].[Amount])'
AS
'(StrToMember("' + [CategoryFcst].item(0).UNIQUENAME + '"),[Measures].[Amount])'
--The formula expression result is: (StrToMember("[Category].[Category].&[29]"),[Measures].[Amount])
SELECT [Time].[Calendar Time].[Quarter].members on columns,
[Category].[Category].children on rows
from [AllData]
WHERE ([Measures].[Amount])
-----------------------------------------------------------------------
如果我直接就把「(StrToMember("[Category].[Category].&[29]"),[Measures].[Amount])
」作爲細胞計算公式,將工作,但我需要動態計算出。
此外,如果我把'(StrToMember("' + '[Category].[Category].&[29]' + '"),[Measures].[Amount])
'不起作用。它將該字符串設置爲單元格值。
這不是真正的細胞計算,而是造成我的問題的部分。 我會很感激任何建議/答案。
最好的問候, 丹尼爾
我以前見過這種東西,它可能與創建集合的時間有關。你能用設定的定義替換計算中的[CategoryFcst]嗎?它可能不是最佳的,但也許你可以在之後優化它?也許你可以創建一個層次結構來對這些成員進行分類,而不是從標題中查找它們? –
嗨Preet。感謝您的回答。如果我替換集合定義的[CategoryFcst],我會得到一個空字符串,並且mdx表達式的結果是:(StrToMember(「」),[Measures]。[Amount])。我需要看看會員的標題,因爲會改變,所以我不能直接這樣寫:[Catgeory]。[Catgeory]。[Sales Fcst(20140124)]。 – Daniel
''(StrToMember([CategoryFcst] .item(0).UNIQUENAME),[Measures]。[Amount])''給你想要的東西? – FrankPl