2013-04-17 20 views
0

我有一個表達式字符串,它使用年份和日曆月的維度從SSAS中提取年份。我想修改它,以便它自動默認爲當前年份。如何將參數表達式字符串始終默認爲當前年份

enter image description here

enter image description here

​​730525

這方面的一個例子困難,但幾乎同樣的事情,是我想默認爲當前的一年,但使用預先設定的月份。在下面的例子中,它始終是當年的第一個月,但可以設置爲任何月份。我遇到的問題是我不能將默認設置爲當前年份,因爲這些信息是從表格字段中提取的。

[Allegation Closed Date].[Calendar Month].&[2013-01]

我想我可以做這樣的事情,它會工作:

[Allegation Closed Date].[Year].&[Year(Now())]

我想上面的字符串一對夫婦不同的變化和他們沒有工作。我也曾嘗試在數據集中名爲currentyear創建一個計算的字段,然後用調用這個領域:

[Allegation Closed Date].[Year].&[CurrentYear]

嘗試下面的方法並沒有工作,所以我想我可以重新設計查詢,以過濾掉所有年比今年大。這是查詢設計器的屏幕截圖。

enter image description here

查詢是有點難以閱讀,它是:

WITH MEMBER [Measures].[ParameterCaption] AS [Allegation Closed Date].[Year].CURRENTMEMBER.MEMBER_CAPTION MEMBER [Measures].[ParameterValue] AS [Allegation Closed Date].[Year].CURRENTMEMBER.UNIQUENAME MEMBER [Measures].[ParameterLevel] AS [Allegation Closed Date].[Year].CURRENTMEMBER.LEVEL.ORDINAL SELECT {[Measures].[ParameterCaption], [Measures].[ParameterValue], [Measures].[ParameterLevel]} ON COLUMNS , [Allegation Closed Date].[Year].ALLMEMBERS ON ROWS FROM (SELECT ({ [Allegation Status].[Allegation Status].&[Closed] }) ON COLUMNS FROM [Allegation Analysis])

所以我想通了什麼輸入所以它會默認爲當前年份,它是:

="[Allegation Closed Date].[Year].&["+CSTR(Year(Today))+"]" 

仍然必須弄清楚什麼月進入,但至少我知道我在正確的軌道上。

任何幫助仍然非常感謝如何格式化爲年份。

回答

1

如果你指定一個表達式,那麼它需要是一個VB.NET表達式,而不是MDX。

=Now.Year 

將始終返回當年。

如果要使用MDX表達式,則需要設置一個數據集來執行該MDX作爲其查詢,然後將該參數設置爲「從查詢中獲取值」並選擇新數據集。

+0

所以我可以做一些類似於[指控關閉日期]。[Year]。&[= Now.Year]? –

+0

您可以在SSRS級別過濾最終數據集(查看SSRS中的數據集屬性以查看過濾器,或在Anlaysis Services查詢中使用該參數:http://www.tictacti.com/DevBlog/post/2010/06 /24/SSAS-Reports-in-Reporting-Services.aspx(我不太熟悉SSAS查詢中的參數,所以我不能保證具體的細節。) –

相關問題