Я использую 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» не может быть связан.
Я попытался обернуть поля в исходном выделении в одинарные кавычки, но затем это просто перетаскивает имена полей в виде строки.
Где я иду не так?