使用变量和参数 (MDX)

在 MicrosoftSQL ServerAnalysis Services 中,可以参数化多维表达式 (MDX) 语句。参数化语句允许您创建可在运行时自定义的一般语句。

在创建参数化语句时,通过将“at”符号 (@) 加在参数名称前面来标识参数名称。例如,@Year 是一个有效的参数名称。

MDX 仅支持文字值或标量值的参数。若要创建引用成员、集或元组的参数,必须使用函数,如 StrToMemberStrToSet

在下面的 XML for Analysis (XMLA) 示例中,@CountryName 参数将包含检索其客户数据的国家/地区。

<Envelope xmlns="https://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 集合。