Sql server 2008 r2 MDX查询不接受日期值

Sql server 2008 r2 MDX查询不接受日期值,sql-server-2008-r2,ssas,mdx,Sql Server 2008 R2,Ssas,Mdx,我是一名SSAS新手,我正在尝试查询一个多维数据集,以根据aome度量值组按日期顺序检索数据。我希望在查询中指定的日期范围。我使用的查询是:- 然而,它给了我以下的错误 查询10、16违反了STRTOMEMBER函数中CONSTRAINED标志施加的限制 我尝试删除受约束的关键字,甚至删除strtomember函数。但在每种情况下,我分别得到以下错误 查询10、16 STRTOMEMBER函数要求1参数使用成员表达式。使用了字符串或数字表达式。 和 *查询10、14:函数要求1参数使用成员表达式

我是一名SSAS新手,我正在尝试查询一个多维数据集,以根据aome度量值组按日期顺序检索数据。我希望在查询中指定的日期范围。我使用的查询是:-

然而,它给了我以下的错误 查询10、16违反了STRTOMEMBER函数中CONSTRAINED标志施加的限制

我尝试删除受约束的关键字,甚至删除strtomember函数。但在每种情况下,我分别得到以下错误 查询10、16 STRTOMEMBER函数要求1参数使用成员表达式。使用了字符串或数字表达式。 和 *查询10、14:函数要求1参数使用成员表达式。使用了字符串或数字表达式。 *


从最后两个错误中我可以理解,我需要包含constraint关键字。但是有人能告诉我为什么这个查询不能执行吗?

作为成员表达式传递的字符串必须是完全限定的成员名称,或者解析为一个。使用与“选择”对话框中相同的格式

例如:

STRTOMEMBER('[Date].[2/23/2013]', CONSTRAINED)
编辑:我刚刚注意到你的范围选择的语法看起来是错误的-你需要使用{…},而不是


请执行下面的脚本。 提取日期维度属性,通过右键单击将其复制并粘贴到strtomber值中

它会很好用的

 SELECT NON EMPTY { [Measures].[Internet Sales Amount] } ON COLUMNS 
 FROM ( SELECT ( STRTOMEMBER('[Date].[Date].&[20050701]')  : 
 STRTOMEMBER('[Date].[Date].&[20061007]') )  ON COLUMNS 
 FROM [Adventure Works]) 

刚刚注意到范围选择的另一个潜在问题。更新了上面的答案。它仍然给出相同的错误:。我不明白会出什么问题,我的意思是我的多维数据集中确实有这些日期的数据。。我甚至尝试了类似于{}alongwhith'[Date].[2/23/2013]'的组合。还是完全一样的错误!我只是想说清楚,我作为示例使用的成员名称是虚构的——这真的是多维数据集中唯一的名称吗?您需要构造确切的名称,而不是一般的日期表示。希望这是有道理的。它现在运行良好。成员函数的语法有点问题。我有下面的代码,但它仍然给我相同的错误:在列上选择非空的{[Measures].[Stock Entry Main Count],[Measures].[Quantity1],[Measures].[Quantity2]},非空的{[Master Store].[Store code].[Store code]。ALLMEMBERS*[Master SOS].[Name].[Name]。ALLMEMBERS*[Stock Entry Main][Textentrydate].[Textentrydate].ALLMEMBERS}维度属性成员\标题,成员\唯一\选择{STRTOMEMBER@FromStockEntryMainTextentrydate : STRTOMEMBER@ToStockEntryMainTextentrydate}在[Testka]的列中,请详细说明您的答案选择非空{[Measures].[Stock Entry Main Count],[Measures].[Quantity1],列上的[Measures].[Quantity2]},非空{[Master Store].[Store Code].[Store Code].[Store Code]。所有成员*[Master SOS].[Name].[Name]。所有成员*[Stock Entry Main].[Textentrydate].[Textentrydate]。所有成员}维度属性成员_标题,成员_唯一(名称,位于选择的行上{ STRTOMEMBER@FromStockEntryMainTextentrydate : STRTOMEMBER@ToStockEntryMainTextentrydate}在[Testka]中的列上
SELECT { 
    STRTOMEMBER('2/23/2013', CONSTRAINED) : 
    STRTOMEMBER('3/1/2013', CONSTRAINED) }
 SELECT NON EMPTY { [Measures].[Internet Sales Amount] } ON COLUMNS 
 FROM ( SELECT ( STRTOMEMBER('[Date].[Date].&[20050701]')  : 
 STRTOMEMBER('[Date].[Date].&[20061007]') )  ON COLUMNS 
 FROM [Adventure Works]) 
FROM ( SELECT (
   STRTOMEMBER(@FromDateCalendarDate, CONSTRAINED) :
   STRTOMEMBER(@ToDateCalendarDate, CONSTRAINED) ) ON COLUMNS