Вызов MDX из хранимой процедуры T SQL - PullRequest
2 голосов
/ 11 июня 2019

Я использую SQL Server 2016. Я пытаюсь вызвать оператор MDX из хранимой процедуры T SQL. Это мой SQL:

SELECT 
[Product].[Material Group].[Material Group].[MEMBER_CAPTION] AS [Material Group],
[MARKET].[Sales Org Ship to Party].[Sales Org Ship to Party].[MEMBER_CAPTION] AS [Sales Org Ship to Party],
[Measures].[_X] AS [VALUE]
FROM OPENQUERY([xxxxxx],-- Linked server

--Starting MDX Query

'WITH MEMBER _X AS   
ROUND(Iif (
Sum (
( [Time].[Period Prog].[-3] : [Time].[Period Prog].[-1] ) ,
[Measures].[Order Quantity - Total m]
) <> 0 ,
Sum (
( [Time].[Period Prog].[-3] : [Time].[Period Prog].[-1] ) ,
[Measures].[Order Quantity - Total m]
) / 
[Measures].[Sum for Material Group m] ,
Null
),4) 
SELECT _X ON 0,  
NON EMPTY ([Product].[Material Group].[Material Group],  
[MARKET].[Sales Org Ship to Party].[Sales Org Ship to Party] 
) ON 1 FROM xxxxxx'
)

Однако я продолжаю получать сообщения об ошибках:

Идентификатор из нескольких частей "Product.Material Group.Material Group.MEMBER_CAPTION "не может быть связан. Идентификатор из нескольких частей "MARKET.Sales Org Ship to Party. Party.MEMBER_CAPTION "не может быть привязан. Идентификатор из нескольких частей «Measures._X» не может быть связан.

Я попытался обернуть поля в исходном выделении в одинарные кавычки, но затем это просто перетаскивает имена полей в виде строки.

Где я иду не так?

...