Использование хранимых процедур (многомерные выражения)
Возможности служб 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) регистрируются автоматически. |