Share via


Verwenden von Variablen und Parametern (MDX)

In MicrosoftSQL ServerAnalysis Services können Sie eine MDX-Anweisung (Multidimensional Expressions) parametrisieren. Eine parametrisierte Anweisung ermöglicht Ihnen das Erstellen von allgemeinen Anweisungen, die während der Laufzeit angepasst werden können.

Beim Erstellen einer parametrisierten Anweisung kennzeichnen Sie den Parameternamen, indem Sie dem Namen das at-Symbol (@) voranstellen. @Jahr ist beispielsweise ein gültiger Parametername.

MDX unterstützt Parameter nur für Literal- oder skalare Werte. Zum Erstellen eines Parameters, der auf ein Element, eine Menge oder ein Tupel verweist, müssen Sie eine Funktion verwenden (z. B. StrToMember oder StrToSet).

Im folgenden XMLA-Beispiel (XML for Analysis) enthält der @CountryName-Parameter das Land bzw. die Region, für das bzw. die Kundendaten abgerufen werden:

<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>

Wenn Sie diese Funktionalität mit OLE DB verwenden möchten, verwenden Sie die ICommandWithParameters-Schnittstelle. Wenn Sie diese Funktionalität mit ADOMD.NET verwenden möchten, verwenden Sie die AdomdCommand.Parameters -Auflistung.