在我在Microsoft Visual Studio(SQL Server BIDS)中运行的Analysis Services项目中,我在我的时间维度中建立了一个名为Current Date的属性,该属性基于DataTable中的属性。在数据源视图中作为命名计算创建的属性具有以下表达式:
CASE WHEN Date=CONVERT(DATE,GETDATE()) THEN CONVERT(BIT,1) ELSE CONVERT(BIT,0) END
然后,该属性已添加到时间层次结构Date YMD中,以便具有以下级别:年,月,日,当前日期。
此外,我在多维数据集中定义了以下计算成员:
CREATE MEMBER CURRENTCUBE.[Measures].[Applicants 1Y lag] AS
(PARALLELPERIOD([Date].[Date YMD].[Year], 1), [Measures].[Applicants]);
使用日期层次结构(如Date YMD或Date YWD)时,它按预期工作。但是,当我使用“当前日期”属性作为报表过滤器并选择“仅”时,则没有任何内容。我已经尝试了不同的表达式来补充上面的成员定义,但没有一个是诀窍。
(Measures.[Applicants 1Y lag], [Date].[Date YMD].[Current Date].Members) = (
Measures.[Applicants],
PARALLELPERIOD(
[Date].[Date YMD].[Year],
1,
[Date].[Date YMD].[Current Date].&[1].parent)
);
这是不产生任何结果的表达之一。请问有什么正确的方法?任何帮助将不胜感激。