Поделиться через


Использование хранимых процедур (многомерные выражения)

Возможности служб Analysis Services и многомерных выражений можно расширить путем записи хранимых процедур платформы .NET или определяемых пользователем функций. Дополнительные сведения см. в разделе Программирование сервера ADOMD.NET.

При обращении или вызове хранимой процедуры необходимо указать имя функции и круглые скобки. Внутри скобок можно указать выражения (или аргументы), представляющие собой данные, передаваемые в виде параметров. Вызывая функцию, необходимо указать значения аргументов для всех параметров, причем в той последовательности, в которой параметры перечислены в определении пользовательской функции.

В следующем примере запроса предполагается, что на сервере служб Analysis Services зарегистрирована сборка SampleAssembly:

SELECT SampleAssembly.RandomSample([Geography].[State-Province].Members, 5) on ROWS, 
[Date].[Calendar].[Calendar Year] on COLUMNS
FROM [Adventure Works]
WHERE [Measures].[Reseller Freight Cost]
ПримечаниеПримечание

В службах MicrosoftSQL ServerAnalysis Services для таких типов функций используется термин хранимая процедура. В предыдущих версиях служб Analysis Services такие функции назывались пользовательскими.

Типы хранимых процедур

Analysis Services поддерживает сборки COM и CLR. Рекомендуется использовать сборки CLR, поскольку для них имеются расширенные механизмы защиты. Если на сервере установлена электронная таблица Microsoft Office Excel, можно также использовать функции Excel.

ПримечаниеПримечание

COM-сборки Microsoft Visual Basic for Applications (VBA) регистрируются автоматически.