Страница 1 из 1

Как создать запрос через подключение к Microsoft OLE DB Provider for Analysis Services

Добавлено: 20 авг 2010, 15:51
retro
Подключение создается и работает.
Но получить колонки по запросу нет никакой возможности, поскольку в запросе используются фигурные скобки.
Пример:

SELECT
{ Route.nonground.Members } ON COLUMNS,
{ Time.[1st half].Members } ON ROWS
FROM TestCube
WHERE ( [Measures].[Packages] )

Что делать?

Как создать запрос через подключение к Microsoft OLE DB Provider for Analysis Services

Добавлено: 23 авг 2010, 05:08
Aleksey
Здравствуйте,

К сожалению, на данный момент наш продукт не поддерживает MDX, DMX запросы для Analysis Services.

Спасибо.

Как создать запрос через подключение к Microsoft OLE DB Provider for Analysis Services

Добавлено: 24 авг 2010, 05:57
retro
Тогда вопрос проще.

Как написать запрос, если в нем есть строка содержащая фигурные скобки так, что-бы фигурные скобки в нем остались, а не интерпретировались генератором отчетов как выражение, которое надо заменить.

Пример:
SELECT '{Prefix-}' + name as name FROM NV_CITY

{Prefix-} - строка которая должна остаться.

Такое не получается:

SELECT '{{Prefix-}}' + name as name FROM NV_CITY

И такое:

SELECT '\{Prefix-\}' + name as name FROM NV_CITY


Как создать запрос через подключение к Microsoft OLE DB Provider for Analysis Services

Добавлено: 24 авг 2010, 06:25
Aleksey
Здравствуйте,

Вы можете использовать переменные отчета.
К примеру вы хотите использовать запрос вида:

Код: Выделить всё

SELECT {[Measures].[Internet Sales Amount]} ON COLUMNS
FROM [Adventure Works]
WHERE ([Date].[Calendar].[Calendar Quarter].&[2003]&[2],
       [Product].[Product Line].&[M],
       [Customer].[Country].&[Australia])
Вы можете завести 2 переменные
VarRows, тип string, значение по умолчанию = {[Measures].[Internet Sales Amount]}
VarWhere, тип string, значение по умолчанию = [Date].[Calendar].[Calendar Quarter].&[2003]&[2],[Product].[Product Line].&[M],[Customer].[Country].&[Australia]
и использовать для Data Source следующий запрос:

Код: Выделить всё

SELECT {VarRows} ON COLUMNS
FROM [Adventure Works]
WHERE ({VarWhere})
После этого вы сможете получить колонки запроса и использовать их в своем отчете.
Смотрите пример отчета в приложенном файле.

Спасибо.

Как создать запрос через подключение к Microsoft OLE DB Provider for Analysis Services

Добавлено: 24 авг 2010, 06:58
retro
ОК. Спасибо. Хоть и не очень просто....

Как создать запрос через подключение к Microsoft OLE DB Provider for Analysis Services

Добавлено: 24 авг 2010, 07:02
Aleksey
Всегда рады помочь!