Как насчет такого запроса, который использует currentmember для заполнения параметров?
все.
Я создаю веб-приложение и пытаюсь извлечь некоторые данные из куба SSAS.
У меня есть следующий MDX, который я хотел бы скопировать в c #, но с добавлением нескольких параметров, то есть двух параметров, одного для компании 123 и другого для местоположения 1:
@"SELECT NON EMPTY([Dim Unit].[All Units].[Category Group Name]) ON COLUMNS
FROM [Info]
WHERE ([Dim Company].[All Companies].&[123],
[Dim Location].[All Locations].&[123]&[1])";
Теперь я могу получить это и запустить с одним параметром:
AdomdCommand cmdPDC = conPDC.CreateCommand();
cmdPDC.CommandText = "SELECT [Dim Unit].[All Units].[Category Group Name].Members ON 0 FROM [Info] WHERE (StrToMember(@P1)";
string companyid = "123";
string sP1 = "[Dim Company].&" + company;
cmdPDC.Parameters.Add(new AdomdParameter("P1", sP1));
Но как мне тогда реализовать второй параметр, например, если я хочу вставить параметр для местоположения? Я размышлял в духе ниже, но я не могу заставить маленького дерьма работать:
AdomdCommand cmdPDC = conPDC.CreateCommand();
cmdPDC.CommandText = "SELECT [Dim Unit].[All Units].[Category Group Name].Members ON 0 FROM [Info] WHERE (StrToMember(@P1)," + "(StrToMember(@P2))";
string companyid = "123";
string locationid = "1";
string sP1 = "[Dim Company].&" + company;
string sP2 = "[Dim Location].&" + company + "&" + location;
cmdPDC.Parameters.Add(new AdomdParameter("P1", sP1));
cmdPDC.Parameters.Add(new AdomdParameter("P2", sP2));
Любая помощь или совет с благодарностью получен.