Переменные и параметры (многомерные выражения)

Применимо к: 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)