Я создал хранимую процедуру в T-SQL с параметрами. Как использовать эти параметры в MDX для определения маршрута к файлу, где локализуется куб OLAP, и в состоянии «ГДЕ»? Это мой запрос ниже:Хранимая процедура T-SQL с параметрами с использованием MDX
CREATE PROCEDURE [dbo].[PaymentMethod]
(
@AccountID BIGINT,
@LocationID BIGINT
)
AS
BEGIN
SELECT N'Names' = CONVERT(VARCHAR(100), "[Basic].[Payment Method].[Payment Method].[MEMBER_CAPTION]"),
N'Revenue'= CONVERT(NUMERIC(18,2),CAST("[Measures].[Revenue]" AS FLOAT)) FROM OPENQUERY([LG],
'WITH MEMBER [Measures].[DateFilter] AS ''CDATE([Date.H_Date].CURRENTMEMBER.MEMBERVALUE)'', SOLVE_ORDER = 0, SCOPE_ISOLATION = CUBE MEMBER [Basic].[Payment Method].[All].[ChequePayment] AS ''[Basic].[Payment Method].[Amex] + [Basic].[Payment Method].[Master] + [Basic].[Payment Method].[Visa]'', SOLVE_ORDER = 0, SCOPE_ISOLATION = CUBE
SELECT {[Measures].[Revenue]} DIMENSION PROPERTIES [MEMBER_CAPTION] ON COLUMNS,
NON EMPTY Filter(NonEmpty(CROSSJOIN({[Basic].[Payment Method].&[Cash],
[Basic].[Payment Method].[All].[ChequePayment]},
[Date].[H_Date].[Month].AllMembers),
{[Measures].[Revenue]}),
DATEADD("m",-1,DATEADD("m",DATEDIFF("m",CDate(36526),NOW()),CDate(36526))) <= [Measures].[DateFilter] AND [Measures].[DateFilter] < DATEADD("m",0,DATEADD("m",DATEDIFF("m",CDate(36526),NOW()),CDate(36526))))
DIMENSION PROPERTIES [MEMBER_CAPTION] ON ROWS
FROM [[email protected]].[[email protected]]
WHERE ([Location].[LocationName].&[@LocationID])');
параметры используются только в конце запроса в «FROM» и «WHERE» п. Название куба OLAP проекта - «OLAPProject_ @ AccountID». Как я могу использовать этот параметр для открытия правильного проекта в запросе?
параметры не работают так, я думаю, вы должны будут объединить их в @mdxString. Кроме этого. Это способ. – mxix
@mxix hey up - Я знаю, что параметры не работают так - просто немного игриво: если пользователь вставляет «динамический sql» в Google, будет много помощи в том, как вывести параметры из строки. – whytheq