Reporting services 如何将参数表达式字符串设置为始终默认为当前年份

Reporting services 如何将参数表达式字符串设置为始终默认为当前年份,reporting-services,ssrs-2008,ssas,Reporting Services,Ssrs 2008,Ssas,我有一个表达式字符串,它使用年和日历月的维度从SSAS中提取年。我想修改它,使其自动默认为当前年份 [Allegation Closed Date].[Year].&[2013] 更难的例子是,我想默认为当前年份,但使用预先设置的月份。在下面的示例中,它将始终是当年的第一个月,但可以设置为任何月份。我遇到的问题是,我不能默认为当前年份,因为这些信息是从表字段中提取的 [指控结束日期][日历月]和[2013-01] 我在想我可以做这样的事情,它会起作用的: [指控截止日期][年度]和[截

我有一个表达式字符串,它使用年和日历月的维度从SSAS中提取年。我想修改它,使其自动默认为当前年份

[Allegation Closed Date].[Year].&[2013]
更难的例子是,我想默认为当前年份,但使用预先设置的月份。在下面的示例中,它将始终是当年的第一个月,但可以设置为任何月份。我遇到的问题是,我不能默认为当前年份,因为这些信息是从表字段中提取的

[指控结束日期][日历月]和[2013-01]

我在想我可以做这样的事情,它会起作用的:

[指控截止日期][年度]和[截止日期]

我在上面的琴弦上试了几个不同的变奏,但没有一个奏效。我还尝试在数据集中创建一个名为currentyear的计算字段,然后使用以下命令调用此字段:

[指控结束日期][年度]和[当前年度]

尝试了下面的方法,但没有成功,所以我想我可以重新设计查询,过滤掉比当前年份大的所有年份。下面是查询设计器的屏幕截图

查询有点难读,它是:

成员[Measures].[ParameterCaption]作为[Allegation Closed Date].[Year]。CURRENTMEMBER.MEMBER_CAPTION成员[Measures].[ParameterValue]作为[Allegation Closed Date].[Year]。CURRENTMEMBER.LEVEL.ORDINAL选择{[Measures].[ParameterCaption],[Measures].[ParameterValue],[Measures].[ParameterLevel]}列[Allegation Closed Date].[Year]。行上的所有成员在[Allegation Analysis]列上选择{[Allegation Status].[Allegation Status].&[Closed]}

所以我决定输入什么,它将默认为当前年份,它是:

="[Allegation Closed Date].[Year].&["+CSTR(Year(Today))+"]"
我还得弄清楚这个月要参加什么比赛,但至少我知道我走的是对的


对于如何设置年-月格式的任何帮助,我们将不胜感激。

如果指定表达式,则它需要是VB.NET表达式,而不是MDX

=Now.Year
将始终返回当前年份


如果要使用MDX表达式,则需要设置一个执行该MDX作为其查询的数据集,然后设置参数以从查询中获取值并选择新的数据集。

这样我就可以执行类似于[Allegation Closed Date].[Year].&[=Now.Year]?您可以在SSRS级别筛选最终数据集查看SSRS中的数据集属性以查看筛选器。或者使用Anlaysis服务查询中的参数:我对SSAS查询中的参数不太熟悉,因此我无法保证该查询的详细信息。