Переменные и параметры (многомерные выражения)
Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
В Microsoft SQL Server SQL Server Analysis Services можно параметризовать инструкцию многомерных выражений. Благодаря параметризации можно создавать универсальные инструкции, настраиваемые во время выполнения.
Имена параметров при создании параметризованных инструкций обозначаются префиксом «@». Например, будет допустимым именем параметра. @Year
В языке многомерных выражений поддерживаются только параметры для строковых и скалярных значений. Чтобы создать параметр, который ссылается на элемент, набор или кортеж, необходимо использовать функцию, например StrToMember или StrToSet.
В следующем примере XML для анализа (XMLA) параметр будет содержать страну или регион, @CountryName для которых извлекаются данные клиента:
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Body>
<Execute xmlns="urn:schemas-microsoft-com:xml-analysis">
<Command>
<Statement>
select [Measures].members on 0,
Filter(Customer.[Customer Geography].Country.members,
Customer.[Customer Geography].CurrentMember.Name =
@CountryName) on 1
from [Adventure Works]
</Statement>
</Command>
<Properties />
<Parameters>
<Parameter>
<Name>CountryName</Name>
<Value>'United Kingdom'</Value>
</Parameter>
</Parameters>
</Execute>
</Body>
</Envelope>
В OLE DB эти возможности доступны через интерфейс ICommandWithParameters . В ADOMD.Net для этого необходимо использовать коллекцию AdomdCommand.Parameters .
См. также:
Основные принципы создания скриптов многомерных выражений (службы Analysis Services)