Ssas 返回从硬编码起点到昨天的日期集

Ssas 返回从硬编码起点到昨天的日期集,ssas,mdx,Ssas,Mdx,我想把从6月18日到昨天的一套日期还给你。我的尝试如下所示,但我得到了以下错误: 正在执行查询… 计算成员不能用作范围运算符(:)的操作数。 执行完毕 您可能需要处理格式和维度/属性名称,但请尝试以下操作: SELECT NULL ON COLUMNS, { [Date].[Full Date].[2013-07-01] : STRTOMEMBER("[Date].[Full Date].[" + Format(DATEADD("d", -1, Now()),"yyyy-

我想把从6月18日到昨天的一套日期还给你。我的尝试如下所示,但我得到了以下错误:

正在执行查询…
计算成员不能用作范围运算符(:)的操作数。
执行完毕


您可能需要处理格式和维度/属性名称,但请尝试以下操作:

SELECT
    NULL
ON COLUMNS,
{
    [Date].[Full Date].[2013-07-01] :
    STRTOMEMBER("[Date].[Full Date].[" + Format(DATEADD("d", -1, Now()),"yyyy-MM-dd") + "]", CONSTRAINED)
}
ON ROWS FROM [Cube]

+1谢谢Meff-我以前没有见过STRTOMEMBER在运行-喜欢它。我想知道
右边的所有内容是否都可以替换为
null
?@whytheq如果您执行{[Date].[SomeDate]:null}则它将是从“某个日期”到日历末尾的日历,无论何时。如果这是您想要的,那么这就行了……如果多维数据集没有加载昨天的数据,那么将
strotmember(“[Date].[Full Date].[”+格式(DATEADD(“d”),-1,Now(),“yyyyy-MM-dd”)+“]”,constrated)
导致错误?@whytheq“constrated”表示如果使用StrToMember创建的维度成员不存在,则要抛出错误。您可以删除“constrated”标志,如果缺少它,它的工作方式将与NULL相同,因为它将运行到日历的末尾。根据您在这种情况下想要的结果,将指导您是否这样做。
SELECT
    NULL
ON COLUMNS,
{
    [Date].[Full Date].[2013-07-01] :
    STRTOMEMBER("[Date].[Full Date].[" + Format(DATEADD("d", -1, Now()),"yyyy-MM-dd") + "]", CONSTRAINED)
}
ON ROWS FROM [Cube]