Usando procedimentos armazenados (MDX)
Você pode estender a funcionalidade do Analysis Services e MDX (Multidimensional Expressions) escrevendo procedimentos armazenados do .NET ou funções definidas pelo usuário. Para obter mais informações, consulte programação de servidor ADOMD.NET
Quando você faz referência ou chama um procedimento armazenado, você especifica o nome da função seguido por parênteses. Dentro dos parênteses, você pode especificar expressões chamadas argumentos que fornecem dados a serem transmitidos nos parâmetros. Quando você chama uma função, deve fornecer valores de argumentos para todos os parâmetros e especificar os valores de argumentos na mesma sequência na qual os parâmetros são definidos na função definida pelo usuário.
A consulta de exemplo a seguir pressupõe que você tenha um assembly chamado SampleAssembly registrado no servidor do Analysis Services:
SELECT SampleAssembly.RandomSample([Geography].[State-Province].Members, 5) on ROWS,
[Date].[Calendar].[Calendar Year] on COLUMNS
FROM [Adventure Works]
WHERE [Measures].[Reseller Freight Cost]
Observação
O procedimento armazenado é a terminologia usada no Analysis Services para esses tipos de funções. Versões anteriores do Analysis Services chamavam esses tipos de funções como funções definidas pelo usuário.
Tipos de procedimentos armazenados
O Analysis Services dá suporte a assemblies COM e CLR. Recomenda-se assemblies CLR por causa da segurança reforçada disponível para assemblies CLR. Se o Microsoft Office Excel estiver instalado no servidor, as funções do Excel também estarão disponíveis.
Observação
Os assemblies COM do Microsoft Visual Basic for Applications (VBA) são automaticamente registrados.