Analysis Services-Entwicklerdokumentation

Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Mit Analysis Services ist fast jedes Objekt und jede Workload programmierbar, und häufig stehen mehrere Ansätze zur Auswahl. Die Optionen umfassen das Schreiben von verwaltetem Code, Skripts oder die Verwendung offener Standards wie XMLA und MSOLAP, wenn Ihre Lösungsanforderungen die Verwendung des .NET Frameworks ausschließen.

Was Sie im Code erreichen können

Typische Programmierszenarien sind Bereitstellung von Server-, Datenbank- und semantischen Modellen, Verwaltung, Datenaktualisierung und Partitionsverwaltung, Datenzugriff aus benutzerdefinierten Anwendungen und externe Tools. Allen diesen Szenarien gemeinsam ist eine feste Architektur- und Objektdefinitionshierarchie mit gut verstandenen Vorgängen, die Datendefinitions-, Verarbeitungs- und Abfrageworkloads umfassen.

Objekte und Workloads sind zwar programmierbar, aber nicht erweiterbar. Insbesondere können Sie keine benutzerdefinierten Datenpatronen erstellen, die Daten aus nicht unterstützten Datenquellen abrufen, das Verhalten von Formeln oder Speichermodulen anpassen oder ersetzen, noch können Sie neue Typen von Objektmetadaten auf einem Server, einer Datenbank oder einem Modell erstellen.

Um den letzten Punkt zum Erstellen neuer Objekttypen weiter zu erläutern, können Sie zwar keinen neuen Objekttyp erstellen, aber sie können zur Laufzeit berechnete Objekte erstellen, die aus Ausdrücken oder Code erstellt wurden. Nicht alles in Ihrem Modell muss vordefiniert und einer vorhandenen Datenstruktur zugeordnet werden. Darüber hinaus können Sie das Schema über Anmerkungen in AMO erweitern, um objektspezifische Informationen an Ihre Clientanwendung zu übergeben.

Auswählen einer Plattform oder eines Entwicklungsansatzes

Analysis Services bietet viele Möglichkeiten zum Anpassen einer Lösung über Code, aber die meisten Entwickler verwenden die verwalteten APIs oder das Skript.

  • Verwaltete APIs umfassen AMO und TOM für Datendefinitions- und Verwaltungsaufgaben sowie ADOMD.NET für die Abfrageunterstützung aus Clientcode. In SQL Server 2016 und höher wird AMO aktualisiert, um die neuen tabellarischen Metadaten für Modelle zu verwenden, die erstellt oder auf Kompatibilitätsgrad 1200 und höher aktualisiert wurden.

  • Skripts können oft die gleichen Ergebnisse wie eine ausführbare Programmdatei erzielen, mit möglicherweise weniger Arbeit.

    • Sie können PowerShell-Skripts mit PowerShell-Komponenten von Analysis Services schreiben, die AMO-Typen direkt aufrufen. In PowerShell können Sie auch ASSL/XMLA- oder TMSL-Skript (in JSON) erstellen und ausführen.

    • TMSL und ASSL sind Skriptsprachen, die Objekte bereitstellen, die in Ermittlungs- und Ausführungsvorgängen verwendet werden. Welcher Skripttyp Sie verwenden, hängt vom zugrunde liegenden Server, der Datenbank oder dem zugrunde liegenden Modell ab.

    • Tabellarische Modelle oder Datenbanken mit Kompatibilitätsgrad 1200 und höher verwenden die TABULAR MODEL SCRIPTING LANGUAGE (TMSL), die sich in JSON befindet.

    • Mehrdimensionale Modelle und tabellarische Modelle mit Kompatibilitätsgraden 1050-1103 verwenden analysis Services Scripting Language (ASSL), die Analysis Services-Erweiterung des offenen XMLA-Standards.

    • Sie können ASSL- oder TMSL-Skripts in Management Studio generieren. Sie können code anzeigen in SQL Server Data Tools auch verwenden, um die Modelldefinition in ASSL oder TMSL anzuzeigen.

  • Es ist zwar möglich, eine Lösung basierend auf den offenen Standards von XMLA und MDX zu erstellen, dies ist jedoch recht selten. Es gibt keine andere Dokumentation als XMLA- und MDX-Referenz, die Ihnen helfen kann, und der größte Teil der Community- und Forenunterstützung basiert auf Erfahrungen mit .NET- oder nativen (MSOLAP)-Technologien.

Programmierung für Analysis Services

Analysis Services Management Objects (AMO): Entwicklerreferenzdokumentation für den verwalteten Anbieter Analysis Services Management Objects (AMO) für Datendefinition und -verwaltung, einschließlich Verarbeitung.

Tabellarisches Objektmodell : Eine Erweiterung der AMO-Clientbibliothek, die zur Unterstützung von Programmierszenarien für tabellarische Modelle erstellt wurde, die mit Kompatibilitätsgrad 1200 und höher erstellt wurden.

Tabellarische Modelldefinitionssprache (TMDL): Eine Objektmodelldefinitionssyntax für tabellarische Datenmodelle mit Kompatibilitätsgrad 1200 oder höher. Vollständig kompatibel mit TOM. Textbasiert und optimiert für menschliche Interaktion und Lesbarkeit.

Referenz zur Tabellenmodellskriptsprache (TMSL): Eine JSON-Darstellung tabellarischer Modelle mit Kompatibilitätsgrad 1200 und höher. Objektdefinitionen basieren auf tabellenbasierten Metadatenkonstrukten wie Tabelle, Spalte und Beziehung anstelle mehrdimensionaler Metadaten, die möglicherweise nicht vertraut sind, wenn Sie mit analysis Services-Datenmodellierung im tabellarischen Modus noch nicht vertraut sind.

Programmierung von mehrdimensionalen Modellen : Beschreibt die Entwicklungsaufgaben und -ansätze für die Integration von mehrdimensionalen Modellobjekten in eine benutzerdefinierte Lösung.

ADOMD.NET : Entwicklerreferenzdokumentation für den verwalteten Anbieter ADOMD.NET, die für programmgesteuerte Datenzugriffs- und Abfrageworkloads verwendet wird.

XMLA-Referenz (XMLA): Beschreibt XMLA-Konzepte, mit denen Sie verstehen können, wie XMLA zu Ihrer benutzerdefinierten Lösung beiträgt. Darüber hinaus wird der Grad der Kompatibilität mit der XMLA 1.1-Spezifikation beschrieben.

Analysis Services Scripting Language (ASSL for XMLA): Beschreibt die ASSL-Erweiterungen für XMLA. ASSL stellt eine Datendefinitions- und Datenbearbeitungssprache für mehrdimensionale Analysis Services-Modelle bereit und ist eine Ergänzung der XMLA-Spezifikation.

Analysis Services-Schemarowsets : Beschreibt die Schemarowsets, die Informationen zu Serverstatus, Servervorgängen und Datenbankobjekten bereitstellen.

PowerShell-Referenz für Analysis Services : Dokumentiert die Cmdlets, die für Verwaltungsfunktionen verwendet werden, sowie das cmdlet Invoke-ASCmd allgemein, das skripts oder abfragen als Eingabe akzeptiert.