解析器:'SCOPE' 的语法不正确
Parser: The syntax for 'SCOPE' is incorrect
我正在学习 MDX,但在使用 SCOPE 时遇到了问题。
作为测试,我正在尝试仅为 2011 财年创建一个新度量,但是
有语法错误。
它不是 SSAS 脚本中的创建计算量度,而是 SSMS 中的查询。
任何帮助或指点都会很棒。
WITH MEMBER [Measures].[Test Scope]
AS 1
(
SCOPE ([Measures].[Test Scope]);
SCOPE ([Date].[Fiscal Year].&[2011]);
THIS = [Measures].[Reseller Order Quantity] + 10000;
END SCOPE;
END SCOPE;
)
SELECT
{[Measures].[Reseller Order Quantity],[Measures].[Test Scope]} ON COLUMNS
,[Date].[Fiscal Year].[Fiscal Year].MEMBERS ON ROWS
FROM [Adventure Works]
查询 (4, 2) 解析器:'SCOPE' 的语法不正确。
您不能在查询中使用范围语句。它必须在多维数据集的 MDX 脚本中或在会话上下文中的 运行 中定义。处理此问题的最常见方法如下。
WITH MEMBER [Measures].[Test Scope] AS
IIF(
[Date].[Fiscal Year].CurrentMember is [Date].[Fiscal Year].&[2011],
[Measures].[Reseller Order Quantity] + 10000,
NULL
)
SELECT
{[Measures].[Reseller Order Quantity],[Measures].[Test Scope]} ON COLUMNS
,[Date].[Fiscal Year].[Fiscal Year].MEMBERS ON ROWS
FROM [Adventure Works]
在 MDX 查询中也有非常古老的 MDX 语法 CELL CALCULATION
,我建议不要在没有经过测试的情况下使用,因为它很少使用。在我的脑海中,它看起来像这样。它可以“作用于”任何度量或计算的度量或元组。在这里,我们确定了空计算度量的范围。
WITH MEMBER [Measures].[Test Scope] AS
NULL
CELL CALCULATION [Test Scope Calc]
FOR '([Measures].[Test Scope],[Date].[Fiscal Year].&[2011])'
AS '[Measures].[Reseller Order Quantity] + 10000'
SELECT
{[Measures].[Reseller Order Quantity],[Measures].[Test Scope]} ON COLUMNS
,[Date].[Fiscal Year].[Fiscal Year].MEMBERS ON ROWS
FROM [Adventure Works]
我正在学习 MDX,但在使用 SCOPE 时遇到了问题。
作为测试,我正在尝试仅为 2011 财年创建一个新度量,但是 有语法错误。
它不是 SSAS 脚本中的创建计算量度,而是 SSMS 中的查询。
任何帮助或指点都会很棒。
WITH MEMBER [Measures].[Test Scope]
AS 1
(
SCOPE ([Measures].[Test Scope]);
SCOPE ([Date].[Fiscal Year].&[2011]);
THIS = [Measures].[Reseller Order Quantity] + 10000;
END SCOPE;
END SCOPE;
)
SELECT
{[Measures].[Reseller Order Quantity],[Measures].[Test Scope]} ON COLUMNS
,[Date].[Fiscal Year].[Fiscal Year].MEMBERS ON ROWS
FROM [Adventure Works]
查询 (4, 2) 解析器:'SCOPE' 的语法不正确。
您不能在查询中使用范围语句。它必须在多维数据集的 MDX 脚本中或在会话上下文中的 运行 中定义。处理此问题的最常见方法如下。
WITH MEMBER [Measures].[Test Scope] AS
IIF(
[Date].[Fiscal Year].CurrentMember is [Date].[Fiscal Year].&[2011],
[Measures].[Reseller Order Quantity] + 10000,
NULL
)
SELECT
{[Measures].[Reseller Order Quantity],[Measures].[Test Scope]} ON COLUMNS
,[Date].[Fiscal Year].[Fiscal Year].MEMBERS ON ROWS
FROM [Adventure Works]
在 MDX 查询中也有非常古老的 MDX 语法 CELL CALCULATION
,我建议不要在没有经过测试的情况下使用,因为它很少使用。在我的脑海中,它看起来像这样。它可以“作用于”任何度量或计算的度量或元组。在这里,我们确定了空计算度量的范围。
WITH MEMBER [Measures].[Test Scope] AS
NULL
CELL CALCULATION [Test Scope Calc]
FOR '([Measures].[Test Scope],[Date].[Fiscal Year].&[2011])'
AS '[Measures].[Reseller Order Quantity] + 10000'
SELECT
{[Measures].[Reseller Order Quantity],[Measures].[Test Scope]} ON COLUMNS
,[Date].[Fiscal Year].[Fiscal Year].MEMBERS ON ROWS
FROM [Adventure Works]