Neuerungen in SQL Server Analysis Services

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

In diesem Artikel werden neue Features, Verbesserungen, veraltete und eingestellte Features sowie Verhalten und Breaking Changes in den neuesten Versionen von SQL Server Analysis Services (SSAS) zusammengefasst.

SQL Server 2022 Analysis Services

Kumulatives Update 1 (CU1)

Verschlüsselungsupgrade

Dieses Update enthält eine Erweiterung des Verschlüsselungsalgorithmus für Schemaschreibvorgänge. Diese Erweiterung erfordert möglicherweise ein Upgrade von tabellen- und mehrdimensionalen Modelldatenbanken, um eine ordnungsgemäße Verschlüsselung sicherzustellen. Weitere Informationen finden Sie unter Upgraden der Verschlüsselung.

Allgemein verfügbar (Generally Available, GA)

Horizontale Fusion

In dieser Version wird Horizontal Fusion eingeführt, eine Optimierung des Abfrageausführungsplans, die darauf abzielt, die Anzahl der Datenquellenabfragen zu reduzieren, die zum Generieren und Zurückgeben von Ergebnissen erforderlich sind. Mehrere kleinere Datenquellenabfragen werden zu einer größeren Datenquellenabfrage zusammengeführt. Weniger Datenquellenabfragen bedeuten weniger Roundtrips und weniger teure Überprüfungen über große Datenquellen, was zu erheblichen DAX-Leistungssteigerungen und einem geringeren Verarbeitungsbedarf an der Datenquelle führt. DAX-Abfragen werden mit Horizontal Fusion schneller ausgeführt, insbesondere im DirectQuery-Modus. Darüber hinaus erhöht sich auch die Skalierbarkeit.

Parallele Ausführungspläne für DirectQuery

Diese Verbesserung ermöglicht es der Analysis Services-Engine, DAX-Abfragen für eine DirectQuery-Datenquelle zu analysieren und unabhängige Speicher-Engine-Vorgänge zu identifizieren. Die Engine kann diese Vorgänge dann parallel für die Datenquelle ausführen. Durch die parallele Ausführung von Vorgängen kann die Analysis Services-Engine die Abfrageleistung verbessern, indem sie die Skalierbarkeit nutzt, die große Datenquellen möglicherweise bereitstellen können. Um sicherzustellen, dass die Abfrageverarbeitung Ihre Datenquelle nicht überlastet, verwenden Sie die Einstellung der MaxParallelism-Eigenschaft , um eine feste Anzahl von Threads anzugeben, die für parallele Vorgänge verwendet werden können.

Unterstützung für Power BI DirectQuery-Semantikmodelle

In dieser Version wird die Unterstützung für Power BI-Modelle mit DirectQuery-Verbindungen mit SQL Server 2022 Analysis Services-Modellen eingeführt. Datenmodellierer und Berichtsautoren, die die Power BI Desktop vom Mai 2022 und höher verwenden, können jetzt andere importierte und DirectQuery-Daten aus Power BI-Modellen, Azure Analysis Services und jetzt SSAS 2022 kombinieren.

Weitere Informationen finden Sie unter Verwenden von DirectQuery für semantische Modelle und Analysis Services | Power BI-Dokumentation.

MDX-Abfrageleistung

MDX Fusion wurde zunächst in Power BI und jetzt in SSAS 2022 eingeführt und umfasst die Fe-Optimierung (Formula Engine), die die Anzahl der Speicher-Engine-Abfragen (SE) pro MDX-Abfrage reduziert. Clientanwendungen, die MDX (Multidimensional Expressions) verwenden, um Modell-/Datasetdaten wie Microsoft Excel abzufragen, erzielen eine verbesserte Abfrageleistung. Allgemeine MDX-Abfragemuster erfordern jetzt weniger SE-Abfragen, bei denen zuvor zahlreiche SE-Abfragen erforderlich waren, um unterschiedliche Granularität zu unterstützen. Weniger SE-Abfragen bedeuten weniger kostspielige Scans gegenüber großen Modellen, was zu erheblichen Leistungssteigerungen führt, insbesondere beim Herstellen einer Verbindung mit tabellarischen Modellen im direkten Abfragemodus.

Weitere Informationen finden Sie unter Ankündigung einer verbesserten MDX-Abfrageleistung in Power BI | Microsoft Power BI-Blog.

Ressourcengovernance

Diese Version enthält eine verbesserte Genauigkeit für die Serverspeichereigenschaft QueryMemoryLimit und die Verbindungszeichenfolge Eigenschaft DbpropMsmdRequestMemoryLimit.

Die in SSAS 2019 eingeführte Serverarbeitsspeichereigenschaft QueryMemoryLimit wurde nur auf Speicherpools angewendet, in denen während der Abfrageverarbeitung Zwischenergebnisse von DAX-Abfragen erstellt werden. Jetzt in SSAS 2022 gilt es auch für MDX-Abfragen und deckt effektiv alle Abfragen ab. Sie können die Verarbeitung teurer Abfragen, die zu einer erheblichen Materialisierung führen, besser steuern. Wenn die Abfrage den angegebenen Grenzwert erreicht, bricht die Engine die Abfrage ab und gibt einen Fehler an den Aufrufer zurück, wodurch die Auswirkungen auf andere gleichzeitige Benutzer verringert werden.

Clientanwendungen können den pro Abfrage zulässigen Arbeitsspeicher weiter reduzieren, indem sie die Eigenschaft DbpropMsmdRequestMemoryLimit Verbindungszeichenfolge angeben. Diese Eigenschaft wird in Kilobytes angegeben und setzt den Wert der Serverspeichereigenschaft QueryMemoryLimit für eine Verbindung außer Kraft.

Abfrageinterleaving : Kurze Abfrageverzerrung mit schnellem Abbruch

Diese Version führt einen neuen Wert ein, der short query bias mit schnellem Abbruch für die Einstellung der Threadpool\SchedulingBehavior-Eigenschaft angibt. Diese Eigenschaftseinstellung verbessert die Antwortzeiten von Benutzerabfragen in Szenarien mit hoher Parallelität. Weitere Informationen finden Sie unter Abfrageinterleaving – Konfigurieren.

Kompatibilitätsgrad des tabellarischen Modells 1600

Mit dieser Version wird der Kompatibilitätsgrad 1600 für tabellarische Modelle eingeführt. Der Kompatibilitätsgrad 1600 entspricht der neuesten Funktionalität in Power BI und Azure Analysis Services.

Veraltete Features in SSAS 2022

Mit dieser Version sind keine veralteten Features angekündigt.

Nicht mehr unterstützte Features in SSAS 2022

Die folgenden Features werden in dieser Version eingestellt :

Modus/Kategorie Funktion
Tabellarisch Kompatibilitätsgrad 1100 und 1103
Mehrdimensional Data Mining
Power Pivot-Modus PowerPivot für SharePoint

Breaking Changes in SSAS 2022

Die Kompatibilitätsgrade der tabellarischen Modelle 1100 und 1103 werden in dieser Version eingestellt. Um einen Breaking Change zu verhindern, führen Sie ein Upgrade von Modellen auf den Kompatibilitätsgrad 1200 vor dem Upgrade einer früheren SSAS-Version auf SSAS 2022 durch.

Verhaltensänderungen in SSAS 2022

In dieser Version gibt es keine Verhaltensänderungen .

SQL Server 2019 Analysis Services

SQL Server 2019 Analysis Services CU 5

SQL Server Analysis Services kumulative Updates sind in SQL Server kumulativen Updates enthalten. Weitere Informationen zum aktuellen kumulativen Update und zum Herunterladen finden Sie unter SQL Server neuesten kumulativen Update 2019. Kb-Seiten für kumulative Updates fassen bekannte Probleme, Verbesserungen und Fehlerbehebungen für alle SQL Server Features zusammen, einschließlich SSAS. Weitere Informationen zu wichtigen Featureupdates für SSAS finden Sie hier.

SuperDAX für mehrdimensionale Modelle (SuperDAXMD)

Mit CU5 können DAX-basierte Clients jetzt SuperDAX-Funktionen und Abfragemuster für mehrdimensionale Modelle verwenden, wodurch die Leistung beim Abfragen von Modelldaten verbessert wird. SuperDAX führte erstmals DAX-Abfrageoptimierungen für tabellarische Modelle mit Power BI und SQL Server Analysis Services 2016 ein. SuperDAXMD bietet diese Verbesserungen nun mehrdimensionalen Modellen.

Eine separate Ankündigung im Power BI-Blog zeigt, wie Power BI-Benutzer von dieser mehrdimensionalen Modellleistungsverbesserung profitieren können, indem sie die neueste Version von Power BI Desktop herunterladen. Vorhandene interaktive Berichte im Power BI-Dienst können ohne zusätzliche Schritte profitieren, da Power BI die optimierten SuperDAX-Abfragen automatisch generiert. Power BI erkennt automatisch Verbindungen mit mehrdimensionalen Modellen mit SuperDAX-Unterstützung und verwendet dieselben optimierten DAX-Funktionen und Abfragemuster, die bereits für tabellarische Modelle verwendet werden. Während Power BI automatisch zu SuperDAXMD wechseln kann, müssen Sie in Ihren eigenen Business Intelligence-Lösungen möglicherweise DAX-Abfragemuster manuell optimieren.

Optimierte Abfragemuster sollten die SUMMARIZECOLUMNS-Funktion verwenden, um die weniger effiziente Summarize-Standardfunktion zu ersetzen. Verwenden Sie DAX-Variablen ( VAR), um Ausdrücke nur einmal am Ort der Definition zu berechnen, und verwenden Sie dann die Ergebnisse in allen anderen DAX-Ausdrücken, ohne die Berechnung erneut ausführen zu müssen. Andere und möglicherweise weniger häufige SuperDAX-Funktionen sind SUBSTITUTEWITHINDEX, ADDMISSINGITEMS sowie NATURALLEFTOUTERJOIN und NATURALINNERJOIN, ISONORAFTER und GROUPBY. SELECTCOLUMNS und UNION sind ebenfalls SuperDAX-Funktionen.

Weitere Informationen zur Funktionsweise von DAX mit mehrdimensionalen Modellen und wichtigen Mustern und Einschränkungen finden Sie unter DAX für mehrdimensionale Modelle.

SQL Server 2019: Allgemeine Verfügbarkeit von Analysis Services (allgemein verfügbar)

Kompatibilitätsgrad des tabellarischen Modells

Mit dieser Version wird der Kompatibilitätsgrad 1500 für tabellarische Modelle eingeführt.

Abfrageüberlappung

Die Abfrageüberlappung ist eine Systemkonfiguration im tabellarischen Modus, mit der die Antwortzeiten für Benutzerabfragen in Szenarios mit hoher Parallelität verbessert werden können. Die Abfrageinterflechtung mit kurzer Abfrageverzerrung ermöglicht es gleichzeitigen Abfragen, CPU-Ressourcen gemeinsam zu nutzen. Weitere Informationen finden Sie unter Abfrageüberlappung.

Berechnungsgruppen in tabellarischen Modellen

Berechnungsgruppen können die Anzahl der redundanten Measures deutlich reduzieren, indem sie gängige Measure-Ausdrücke als Berechnungselemente gruppieren. Berechnungsgruppen werden in Berichterstellungsclients als Tabelle mit einer einzigen Spalte angezeigt. Jeder Wert in der Spalte stellt eine wiederverwendbare Berechnung oder ein Berechnungselement dar, das auf beliebige Measures angewendet werden kann. In einer Berechnungsgruppe können beliebig viele Berechnungselemente vorhanden sein. Jedes Berechnungselement wird durch einen DAX-Ausdruck definiert. Weitere Informationen finden Sie unter Berechnungsgruppen.

Governanceeinstellung für Power BI-Cacheaktualisierungen

Die Einstellung der ClientCacheRefreshPolicy-Eigenschaft wird jetzt in SSAS 2019 und höher unterstützt. Diese Eigenschaftseinstellung ist bereits für Azure Analysis Services verfügbar. Die Power BI-Dienst zwischenspeichert Dashboard Kacheldaten und Berichtsdaten für das anfängliche Laden Live Connect Berichts, was zu einer übermäßigen Anzahl von Cacheabfragen führt, die an die Engine gesendet werden, und im Extremfall wird der Server überlastet. Mit der ClientCacheRefreshPolicy-Eigenschaft können Sie dieses Verhalten auf Serverebene überschreiben. Weitere Informationen finden Sie unter Allgemeine Eigenschaften.

Online anfügen

Diese Funktion bietet die Möglichkeit, ein tabellarisches Modell als Onlinevorgang anzufügen. Onlineanfügen kann für die Synchronisierung schreibgeschützter Replikate in horizontal skalierten Umgebungen für lokale Abfragen verwendet werden. Verwenden Sie zum Ausführen eines Onlineanfügungsvorgangs die Option AllowOverwrite des Befehls XMLA anfügen.

AllowOverwrite

Dieser Vorgang erfordert möglicherweise eine Verdopplung des Modellspeichers, um die alte Version beim Laden der neuen Version online beizubehalten.

Ein typisches Verwendungsmuster wäre:

  1. DB1 (Version 1) ist bereits auf einem schreibgeschützten Server B angefügt.

  2. DB1 (Version 2) wird auf dem Schreibserver A verarbeitet.

  3. DB1 (Version 2) wird getrennt und an einem Speicherort platziert, auf den Server B zugreifen kann (entweder über einen freigegebenen Speicherort oder mithilfe von Robocopy usw.).

  4. Der <Befehl Attach> mit AllowOverwrite=True wird auf Server B mit dem neuen Speicherort DB1 (Version 2) ausgeführt.

Ohne dieses Feature müssen Administratoren zunächst die Datenbank trennen und dann die neue Version der Datenbank anfügen. Dies führt zu Ausfallzeiten, wenn die Datenbank für Benutzer nicht verfügbar ist, und bei Abfragen an die Datenbank treten Fehler auf.

Wenn dieses neue Flag angegeben ist, wird Version 1 der Datenbank atomarisch innerhalb derselben Transaktion gelöscht, ohne dass Ausfallzeiten auftreten. Allerdings werden die beiden Datenbanken gleichzeitig in den Arbeitsspeicher geladen.

M:n-Beziehungen in tabellarischen Modellen

Diese Verbesserung ermöglicht m:n-Beziehungen zwischen Tabellen, bei denen beide Spalten nicht eindeutig sind. Eine Beziehung kann zwischen einer Dimension und einer Faktentabelle mit einer Granularität, die höher als die der Schlüsselspalte der Dimension ist, definiert werden. Dies vermeidet die Normalisierung von Dimensionstabellen und verbessert möglicherweise die Benutzerfreundlichkeit, da das resultierende Modell eine geringere Anzahl von Tabellen mit logisch gruppierten Spalten enthält.

M:n-Beziehungen erfordern, dass Modelle den Kompatibilitätsgrad 1500 und höher aufweisen. Sie können m:n-Beziehungen erstellen, indem Sie Visual Studio 2019 mit Analysis Services-Projekten VSIX-Update 2.9.2 und höher, die TOM-API (Tabular Object Model, Tabular Model Scripting Language, TMSL) und das Open-Source-Tool tabellarischer Editor verwenden.

Speichereinstellungen für ressourcengovernance

Die folgenden Eigenschafteneinstellungen bieten eine verbesserte Ressourcengovernance:

  • Memory\QueryMemoryLimit: Diese Arbeitsspeichereigenschaft kann zum Einschränken von Arbeitsspeicherspools verwendet werden, die mit DAX-Abfragen erstellt werden, die an das Modell übermittelt wurden.
  • DbpropMsmdRequestMemoryLimit: Diese XMLA-Eigenschaft kann zum Überschreiben des Servereigenschaftenwerts „Memory\QueryMemoryLimit“ für eine Verbindung verwendet werden.
  • OLAP\Query\RowsetSerializationLimit: Mit dieser Servereigenschaft wird die Anzahl der zurückgegebenen Zeilen in einem Rowset eingeschränkt, wodurch die Serverressourcen vor der ausgiebigen Nutzung von Datenexporten geschützt werden. Diese Eigenschaft gilt für DAX- und MDX-Abfragen.

Diese Eigenschaften können mit der neuesten Version von SSMS (SQL Server Management Studio) festgelegt werden. Diese Einstellungen sind bereits für Azure Analysis Services verfügbar.

Veraltete Features in SSAS 2019

Mit dieser Version sind keine veralteten Features angekündigt.

Nicht mehr unterstützte Features in SSAS 2019

Mit dieser Version werden keine nicht mehr eingestellten Features angekündigt.

Breaking Changes in SSAS 2019

In dieser Version gibt es keine Breaking Changes .

Verhaltensänderungen in SSAS 2019

In dieser Version gibt es keine Verhaltensänderungen .

SQL Server 2017 Analysis Services

SQL Server 2017 wurden für Analysis Services einige der wichtigsten Verbesserungen seit SQL Server 2012 vorgenommen. Aufbauend auf dem Erfolg des tabellarischen Modus (der erstmals in SQL Server 2012 Analysis Services eingeführt wurde), macht diese Version tabellarische Modelle leistungsfähiger als je zuvor.

Der mehrdimensionale Modus und Power Pivot für den SharePoint-Modus sind ein Grundpfeiler für viele Analysis Services-Bereitstellungen. Im Analysis Services-Produktlebenszyklus sind diese Modi ausgereift. Es gibt keine neuen Features für einen dieser Modi in dieser Version. Fehlerkorrekturen und Leistungsverbesserungen sind jedoch enthalten.

Die hier beschriebenen Features sind in SQL Server Analysis Services 2017 enthalten. Um sie nutzen zu können, müssen Sie jedoch auch die neuesten Versionen von Visual Studio mit Analysis Services-Projekten und SQL Server Management Studio (SSMS) verwenden. Analysis Services-Projekte und SSMS werden monatlich mit neuen und verbesserten Features aktualisiert, die in der Regel mit neuen Funktionen in SQL Server übereinstimmen.

Es ist zwar wichtig, sich über alle neuen Features zu informieren, aber es ist auch wichtig zu wissen, was in diesem Release und zukünftigen Releases veraltet und eingestellt wird. Weitere Informationen finden Sie unter Veraltete Features in SSAS 2017.

Sehen wir uns einige der wichtigsten neuen Features in dieser Version an.

1400 Kompatibilitätsgrad für Tabellenmodelle

Um viele der hier beschriebenen neuen Features und Funktionen nutzen zu können, müssen neue oder vorhandene tabellarische Modelle auf den Kompatibilitätsgrad 1400 festgelegt oder aktualisiert werden. Modelle mit dem Kompatibilitätsgrad 1400 können nicht für SQL Server 2016 SP1 oder früher bereitgestellt oder auf niedrigere Kompatibilitätsgrade herabgestuft werden. Weitere Informationen finden Sie unter Kompatibilitätsgrad für tabellarische Analysis Services-Modelle.

In Visual Studio können Sie den neuen Kompatibilitätsgrad 1400 auswählen, wenn Sie neue Tabellenmodellprojekte erstellen.

AS_NewTabular1400Project

Um ein vorhandenes tabellarisches Modell in Visual Studio zu aktualisieren, klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf Model.bim, und legen Sie dann unter Eigenschaften die Eigenschaft Kompatibilitätsgrad auf SQL Server 2017 (1400) fest.

AS_Model_Properties

Es ist wichtig zu beachten, dass Sie nach dem Upgrade eines vorhandenen Modells auf 1400 kein Downgrade durchführen können. Achten Sie darauf, eine Sicherung Ihrer 1200-Modelldatenbank beizubehalten.

Moderne Get Data-Funktion

Wenn es um das Importieren von Daten aus Datenquellen in Ihre tabellarischen Modelle geht, führt SSDT die moderne Benutzeroberfläche Zum Abrufen von Daten für Modelle mit dem Kompatibilitätsgrad 1400 ein. Diese neue Funktion basiert auf einer ähnlichen Funktion in Power BI Desktop und Microsoft Excel 2016. Die moderne Benutzeroberfläche "Daten abrufen" bietet mithilfe des Abfrage-Generators zum Abrufen von Daten und M-Ausdrücken immense Datentransformations- und Datenmashupfunktionen.

Die moderne Benutzeroberfläche "Daten abrufen" bietet Unterstützung für eine Vielzahl von Datenquellen. In Zukunft werden Updates unterstützung für noch mehr enthalten.

AS_Get_Data_in_SSDT

Eine leistungsstarke und intuitive Benutzeroberfläche macht die Auswahl Ihrer Daten- und Datentransformations-/Mashupfunktionen einfacher als je zuvor.

Erweitertes Mashup

Die modernen Funktionen Daten abrufen und M-Mashup gelten nicht für vorhandene Tabellarische Modelle, die vom Kompatibilitätsgrad 1200 auf 1400 aktualisiert wurden. Die neue Benutzeroberfläche gilt nur für neue Modelle, die mit dem Kompatibilitätsgrad 1400 erstellt wurden.

Codierungshinweise

In dieser Version werden Codierungshinweise eingeführt, ein erweitertes Feature zum Optimieren der Verarbeitung (Datenaktualisierung) großer in-Memory-Tabellarmodelle. Informationen zum besseren Verständnis der Codierung finden Sie unter Leistungsoptimierung von tabellarischen Modellen in SQL Server 2012 Analysis Services-Whitepaper, um die Codierung besser zu verstehen.

  • Die Wertcodierung bietet eine bessere Abfrageleistung für Spalten, die in der Regel nur für Aggregationen verwendet werden.

  • Hashcodierung wird für Gruppenspalten (häufig Dimensionstabellenwerte) und Fremdschlüssel bevorzugt. Zeichenfolgenspalten werden immer hashcodiert.

Numerische Spalten können eine dieser Codierungsmethoden verwenden. Wenn Analysis Services mit der Verarbeitung einer Tabelle beginnt und entweder die Tabelle leer ist (mit oder ohne Partitionen) oder ein Vorgang zur Verarbeitung vollständiger Tabellen ausgeführt wird, werden Für jede numerische Spalte Stichprobenwerte erstellt, um zu bestimmen, ob die Wert- oder Hashcodierung angewendet werden soll. Standardmäßig wird die Wertcodierung ausgewählt, wenn die Stichprobe der unterschiedlichen Werte in der Spalte groß genug ist. Andernfalls bietet die Hashcodierung in der Regel eine bessere Komprimierung. Analysis Services kann die Codierungsmethode ändern, nachdem die Spalte teilweise verarbeitet wurde, basierend auf weiteren Informationen zur Datenverteilung, und den Codierungsprozess neu starten. Dies erhöht jedoch die Verarbeitungszeit und ist ineffizient. Im Whitepaper zur Leistungsoptimierung wird die Erneute Codierung ausführlicher erläutert und beschrieben, wie sie mithilfe von SQL Server Profiler erkannt werden kann.

Mithilfe von Codierungshinweisen kann der Modellierer eine Präferenz für die Codierungsmethode angeben, die vorherige Kenntnisse aus der Datenprofilerstellung und/oder als Reaktion auf das erneute Codieren von Ablaufverfolgungsereignissen erhält. Da die Aggregation über hashcodierte Spalten langsamer ist als über wertcodierte Spalten, kann die Wertcodierung als Hinweis für solche Spalten angegeben werden. Es ist nicht garantiert, dass die Einstellung angewendet wird. Es handelt sich um einen Hinweis im Gegensatz zu einer Einstellung. Um einen Codierungshinweis anzugeben, legen Sie die EncodingHint-Eigenschaft für die Spalte fest. Mögliche Werte sind "Default", "Value" und "Hash". Der folgende Codeausschnitt von JSON-basierten Metadaten aus der Datei Model.bim gibt die Wertcodierung für die Spalte Sales Amount an.

{
    "name": "Sales Amount",
    "dataType": "decimal",
    "sourceColumn": "SalesAmount",
    "formatString": "\\$#,0.00;(\\$#,0.00);\\$#,0.00",
    "sourceProviderType": "Currency",
    "encodingHint": "Value"
}

Unregelmäßige Hierarchien

In Tabellenmodellen können Sie über- und untergeordnete Hierarchien modellieren. Hierarchien mit einer unterschiedlichen Anzahl von Ebenen werden häufig als unregelmäßige Hierarchien bezeichnet. Standardmäßig werden unregelmäßige Hierarchien mit Leerzeichen für Ebenen unterhalb der untersten untergeordneten Ebene angezeigt. Nachfolgend sehen Sie ein Beispiel für eine unregelmäßige Hierarchie in einem Organigramm:

AS_Ragged_Hierarchy

In dieser Version wird die Eigenschaft Member ausblenden eingeführt. Sie können für die Eigenschaft Member ausblenden einer Hierarchie die Option Leere Member ausblendenfestlegen.

AS_Hide_Blank_Members

Hinweis

Leere Member im Modell werden durch einen leeren DAX-Wert und nicht durch eine leere Zeichenfolge dargestellt.

Wenn Leere Member ausblendenausgewählt und das Modell bereitgestellt wird, wird in Clients für die Fehlerberichterstattung wie Excel eine besser lesbare Version der Hierarchie angezeigt.

AS_Non_Ragged_Hierarchy

Detailzeilen

Sie können jetzt einen benutzerdefinierten Zeilensatz definieren, der zu einem Measurewert beiträgt. Detailzeilen ähneln der Standard-Drillthroughaktion in mehrdimensionalen Modellen. Auf diese Weise können Endbenutzer Informationen noch ausführlicher anzeigen als auf der aggregierten Ebene.

Die folgende PivotTable zeigt ein Beispieltabellenmodell von Adventure Works mit einem Internetumsatz nach Jahren. Sie können mit der rechten Maustaste auf eine Zelle mit einem aggregierten Wert des Measure klicken und anschließend auf Details anzeigen klicken, um die Detailzeilen anzuzeigen.

AS_Show_Details

Standardmäßig werden die zugehörigen Daten in der Tabelle „Internetumsatz“ angezeigt. Dieses eingeschränkte Verhalten ist häufig für den Benutzer wenig sinnvoll, da die Tabelle möglicherweise nicht über die erforderlichen Spalten verfügt, um nützliche Informationen wie den Kundennamen oder Auftragsdaten anzuzeigen. Mit Detailzeilen können Sie eine Eigenschaft Detailzeilenausdruck für Measures angeben.

Eigenschaft „Detailzeilenausdruck“ für Measures

Mit der Eigenschaft Detailzeilenausdruck für Measures können Modellautoren die Spalten und Zeilen anpassen, die an die Endbenutzer zurückgegeben werden.

AS_Detail_Rows_Expression_Property

Die SELECTCOLUMNS DAX-Funktion wird häufig in einem Detailzeilenausdruck verwendet. Mit dem folgenden Beispiel werden die Spalten definiert, die für Zeilen in der Tabelle „Internetumsatz“ im Beispieltabellenmodell von Adventure Works zurückgegeben werden:

SELECTCOLUMNS(
    'Internet Sales',
    "Customer First Name", RELATED( Customer[Last Name]),
    "Customer Last Name", RELATED( Customer[First Name]),
    "Order Date", 'Internet Sales'[Order Date],
    "Internet Total Sales", [Internet Total Sales]
)

Wenn die Eigenschaft definiert und das Modell bereitgestellt wurde, wird ein benutzerdefinierter Zeilensatz zurückgegeben, wenn der Benutzer Details anzeigenauswählt. Der Filterkontext der ausgewählten Zelle wird automatisch berücksichtigt. In diesem Beispiel werden nur die Zeilen für den Wert 2010 angezeigt:

AS_Detail_Rows

Eigenschaft „Standard-Detailzeilenausdruck“ für Tabellen

Neben Measures verfügen Tabellen auch über eine Eigenschaft, um einen Detailzeilenausdruck zu definieren. Die Eigenschaft Standard-Detailzeilenausdruck fungiert als Standard für alle Measures innerhalb der Tabelle. Measures, für die kein eigener Ausdruck definiert ist, erben den Ausdruck von der Tabelle und zeigen den für die Tabelle definierten Zeilensatz an. Dies ermöglicht die Wiederverwendung von Ausdrücken, und neue Measures, die der Tabelle hinzugefügt werden, erben den Ausdruck später automatisch.

AS_Default_Detail_Rows_Expression

DAX-Funktion DETAILROWS

Diese Version enthält eine neue DETAILROWS DAX-Funktion, die den Zeilensatz zurückgibt, der durch den Detailzeilenausdruck definiert wurde. Dies funktioniert ähnlich wie die DRILLTHROUGH -Anweisung in MDX, die ebenfalls mit Detailzeilenausdrücken kompatibel ist, die in Tabellenmodellen definiert werden.

Die folgende DAX-Abfrage gibt den Zeilensatz zurück, der durch den Detailzeilenausdruck für das Measure oder seine Tabelle definiert ist. Wenn kein Ausdruck definiert ist, werden die Daten für die Tabelle „Internetverkäufe“ zurückgegeben, da dies die Tabelle mit dem Measure ist.

EVALUATE DETAILROWS([Internet Total Sales])

Sicherheit auf Objektebene

Mit dieser Version wird sicherheit auf Objektebene für Tabellen und Spalten eingeführt. Zusätzlich zum Einschränken des Zugriffs auf Tabellen- und Spaltendaten können vertrauliche Tabellen- und Spaltennamen geschützt werden. Dadurch wird verhindert, dass ein böswilliger Benutzer entdeckt, dass eine solche Tabelle vorhanden ist.

Die Sicherheit auf Objektebene muss mithilfe der JSON-basierten Metadaten, der Tabular Model Scripting Language (TMSL) oder des tabellarischen Objektmodells (Tabular Object Model, TOM) festgelegt werden.

Der folgende Code schützt beispielsweise die Produkttabelle im Beispieltabellenmodell von Adventure Works, indem die MetadataPermission -Eigenschaft der TablePermission -Klasse auf Keinegesetzt wird.

//Find the Users role in Adventure Works and secure the Product table
ModelRole role = db.Model.Roles.Find("Users");
Table productTable = db.Model.Tables.Find("Product");
if (role != null && productTable != null)
{
    TablePermission tablePermission;
    if (role.TablePermissions.Contains(productTable.Name))
    {
        tablePermission = role.TablePermissions[productTable.Name];
    }
    else
    {
        tablePermission = new TablePermission();
        role.TablePermissions.Add(tablePermission);
        tablePermission.Table = productTable;
    }
    tablePermission.MetadataPermission = MetadataPermission.None;
}
db.Update(UpdateOptions.ExpandFull);

Dynamische Verwaltungssichten (DMVs)

DMVs sind Abfragen in SQL Server Profiler, die Informationen zu lokalen Servervorgängen und der Serverintegrität zurückgeben. Dieses Release enthält Verbesserungen an dynamischen Verwaltungssichten (Dynamic Management Views , DMV) für tabellarische Modelle mit den Kompatibilitätsgraden 1200 und 1400.

DISCOVER_CALC_DEPENDENCY Funktioniert jetzt mit tabellarischen Modellen mit 1200 und höher. Tabellarische Modelle 1400 und höher zeigen Abhängigkeiten zwischen M-Partitionen, M-Ausdrücken und strukturierten Datenquellen an. Weitere Informationen finden Sie im Analysis Services-Blog.

MDSCHEMA_MEASUREGROUP_DIMENSIONS Verbesserungen sind für diese DMV enthalten, die von verschiedenen Clienttools verwendet wird, um die Maßdimensionalität anzuzeigen. Das Feature "Erkunden" in Excel-Pivottabellen ermöglicht es dem Benutzer beispielsweise, einen Kreuz-Drill zu Dimensionen im Zusammenhang mit den ausgewählten Measures zu erstellen. Diese Version korrigiert die Kardinalitätsspalten, die zuvor falsche Werte anzeigten.

DAX-Verbesserungen

Einer der wichtigsten Elemente der neuen DAX-Funktionalität ist der neue IN-Operator/CONTAINSROW-Funktion für DAX-Ausdrücke. Dies ist vergleichbar mit dem TSQL IN -Operator, der üblicherweise verwendet wird, um mehrere Werte in einer WHERE -Klausel anzugeben.

Früher war es üblich, mithilfe des logischen OR -Operators Filter für mehrere Werte anzugeben, wie beispielsweise im folgenden Measureausdruck:

Filtered Sales:=CALCULATE (
        [Internet Total Sales],
                 'Product'[Color] = "Red"
            || 'Product'[Color] = "Blue"
            || 'Product'[Color] = "Black"
    )

Dies wird durch Verwendung des IN -Operators vereinfacht:

Filtered Sales:=CALCULATE (
        [Internet Total Sales], 'Product'[Color] IN { "Red", "Blue", "Black" }
    )

In diesem Fall bezieht sich der IN -Operator auf eine einspaltige Tabelle mit drei Zeilen, eine Zeile für jede der angegebenen Farben. Beachten Sie, dass die Tabellenkonstruktorsyntax geschweifte Klammern verwendet.

Der IN -Operator ist hinsichtlich seiner Funktion gleichwertig zur CONTAINSROW -Funktion:

Filtered Sales:=CALCULATE (
        [Internet Total Sales], CONTAINSROW({ "Red", "Blue", "Black" }, 'Product'[Color])
    )

Der IN -Operator kann auch effizient mit Tabellenkonstruktoren verwendet werden. Das folgende Measure filtert beispielsweise nach Kombinationen von Produktfarbe und Kategorie:

Filtered Sales:=CALCULATE (
        [Internet Total Sales],
        FILTER( ALL('Product'),
              ( 'Product'[Color] = "Red"   && Product[Product Category Name] = "Accessories" )
         || ( 'Product'[Color] = "Blue"  && Product[Product Category Name] = "Bikes" )
         || ( 'Product'[Color] = "Black" && Product[Product Category Name] = "Clothing" )
        )
    )

Bei Verwendung des neuen IN -Operators entspricht der obige Measureausdruck nun dem Ausdruck unten:

Filtered Sales:=CALCULATE (
        [Internet Total Sales],
        FILTER( ALL('Product'),
            ('Product'[Color], Product[Product Category Name]) IN
            { ( "Red", "Accessories" ), ( "Blue", "Bikes" ), ( "Black", "Clothing" ) }
        )
    )

Weitere Verbesserungen

Zusätzlich zu allen neuen Features enthalten Analysis Services, SSDT und SSMS auch die folgenden Verbesserungen:

  • Die Wiederverwendung von Hierarchien und Spalten wird an hilfreicheren Stellen in der Power BI-Feldliste angezeigt.
  • Datumsbeziehungen zum einfachen Erstellen von Beziehungen zu Datumsdimensionen basierend auf Datumsfeldern.
  • Die Standardinstallationsoption für Analysis Services ist jetzt für den tabellarischen Modus vorgesehen.
  • Neue Datenquellen zum Abrufen von Daten (Power Query).
  • DAX-Editor für SSDT.
  • Vorhandene DirectQuery-Datenquellen unterstützen M-Abfragen.
  • SSMS-Verbesserungen, z. B. Anzeigen, Bearbeiten und Skriptunterstützung für strukturierte Datenquellen.

Veraltete Features in SSAS 2017

Die folgenden Features sind in dieser Version veraltet :

Modus/Kategorie Funktion
Mehrdimensional Data Mining
Mehrdimensional Remoteverknüpfte Measuregruppen
Tabellarisch Modelle mit dem Kompatibilitätsgrad 1100 und 1103
Tabellarisch Eigenschaften des tabellarischen Objektmodells – Column.TableDetailPosition, Column.IsDefaultLabel, Column.IsDefaultImage
Tools SQL Server Profiler für die Ablaufverfolgungssammlung

Der Ersatz verwendet den in SQL Server Management Studio eingebetteten Profiler für erweiterte Ereignisse.
Weitere Informationen finden Sie unter Überwachen von Analysis Services mit den erweiterten Ereignissen von SQL Server.
Tools Server Profiler für die Ablaufverfolgungswiedergabe
Ersatz. Es ist kein Ersatz vorhanden.
Verwaltungsobjekte für die Ablaufverfolgung und Ablaufverfolgungs-APIs Microsoft.AnalysisServices.Trace-Objekte (enthält die APIs für Analysis Services Ablauf-und Wiedergabeobjekte). Der Ersatz ist mehrteilig:

– Ablaufverfolgungskonfiguration: Microsoft.SqlServer.Management.XEvent
- Ablaufverfolgungslesung: Microsoft.SqlServer.XEvent.Linq
– Ablaufverfolgungswiedergabe: Keine

Nicht mehr unterstützte Features in SSAS 2017

Die folgenden Features werden in dieser Version eingestellt :

Modus/Kategorie Funktion
Tabellarisch VertiPaqPagingPolicy-Speichereigenschaftswert (2), aktivieren Sie die Auslagerung auf den Datenträger mithilfe von im Arbeitsspeicher zugeordneten Dateien.
Mehrdimensional Remotepartitionen
Mehrdimensional Remoteverknüpfte Measuregruppen
Mehrdimensional Dimensionales Rückschreiben
Mehrdimensional Verknüpfte Dimensionen

Breaking Changes in SSAS 2017

In dieser Version gibt es keine Breaking Changes .

Verhaltensänderungen in SSAS 2017

Änderungen an MDSCHEMA_MEASUREGROUP_DIMENSIONS und DISCOVER_CALC_DEPENDENCY, die in der Ankündigung Neuerungen in SQL Server 2017 CTP 2.1 für Analysis Services beschrieben sind.

SQL Server 2016 Analysis Services

SQL Server 2016 analysis Services umfasst viele neue Verbesserungen, die eine verbesserte Leistung, einfachere Lösungserstellung, automatisierte Datenbankverwaltung, verbesserte Beziehungen mit bidirektionaler Kreuzfilterung, parallele Partitionsverarbeitung und vieles mehr bieten. Das Herzstück der meisten Verbesserungen in dieser Version ist der neue Kompatibilitätsgrad 1200 für tabellarische Modelldatenbanken.

SQL Server 2016 Service Pack 1 (SP1) Analysis Services

SQL Server 2016 SP1 herunterladen

Analysis Services für SQL Server 2016 Service SP1 bieten verbesserte Leistung und Skalierbarkeit durch NUMA-Unterstützung (Non-Uniform Memory Access) und optimierte Speicherzuweisung auf der Basis von Intel TBB (Intel Threading Building Blocks). Diese neue Funktionalität hilft beim Senken der Gesamtbetriebskosten (Total Cost of Ownership, TCO), da mehr Benutzer auf einer geringeren Anzahl leistungsstärkerer Enterprise-Server unterstützt werden.

Insbesondere bieten Analysis Services für SQL Server 2016 SP1 Verbesserungen in diesen wichtigen Bereichen:

  • NUMA-Unterstützung: Zum Erzielen einer besseren NUMA-Unterstützung verwaltet die In-Memory-Engine (VertiPaq) innerhalb von Analysis Services jetzt eine separate Auftragswarteschlange auf jedem NUMA-Knoten. Dadurch wird sichergestellt, dass die Segmentscanaufträge auf dem gleichen Knoten ausgeführt werden, auf dem der Arbeitsspeicher für die Segmentdaten zugewiesen ist. Beachten Sie, dass NUMA-Unterstützung standardmäßig nur auf Systemen mit mindestens vier NUMA-Knoten aktiviert ist. Bei Systemen mit zwei Knoten rechtfertigen die Kosten für den Zugriff auf remote zugewiesenen Arbeitsspeicher in der Regel nicht den Mehraufwand für die Verwaltung von NUMA-Besonderheiten.
  • Speicherbelegung : Analysis Services wurden mithilfe von Intel Threading Building Blocks beschleunigt, einem skalierbaren Allozierungsmodul, das für jeden Kern separate Speicherpools bereitstellt. Mit zunehmender Kernanzahl kann das System nahezu linear skalieren.
  • Heapfragmentierung : Das auf Intel TBB basierende skalierbare Allozierungsmodul hilft auch beim Abschwächen von Leistungsproblemen aufgrund von Heapfragmentierung, die für den Windows-Heap nachgewiesen werden konnte.

Leistungs- und Skalierbarkeitstests zeigten erhebliche Zuwächse im Abfragedurchsatz, wenn SQL Server 2016 SP1 Analysis Services auf großen Enterprise Servern mit vielen Knoten ausgeführt wird.

Während die meisten Verbesserungen in dieser Version spezifisch für tabellarische Modelle sind, wurden auch einige Verbesserungen für mehrdimensionale Modelle vorgenommen. Dies betrifft z.B. die Optimierung bei Distinct Count ROLAP für Datenquellen wie DB2 und Oracle, die Unterstützung für die Drillthrough Mehrfachauswahl mit Excel 2016 sowie Excel-Optimierungen.

SQL Server 2016: Allgemeine Verfügbarkeit –Analysis Services

Modellierung

Verbesserte Modellierungsleistung für tabellarische 1200-Modelle

Bei tabellarischen 1200-Modellen sind Metadatenvorgänge in SSDT viel schneller als tabellarische 1100- oder 1103-Modelle. Ein Vergleich auf der gleichen Hardware hat gezeigt, dass die Erstellung einer Beziehung für ein Modell mit SQL Server 2014-Kompatibilitätsgrad (1103) mit 23 Tabellen 3 Sekunden dauert. Dagegen dauert die Erstellung der gleichen Beziehung für ein Modell mit Kompatibilitätsgrad 1200 weniger als eine Sekunde.

Projektvorlagen wurden für tabellarische 1200-Modelle in SSDT hinzugefügt

Ab dieser Version benötigen Sie nicht mehr zwei Versionen von SSDT für die Erstellung von relationalen Projekten und BI-Projekten. MitSQL Server Data Tools für Visual Studio 2015 werden Projektvorlagen für Analysis Services-Lösungen hinzugefügt, einschließlich tabellarischer Analysis Services-Projekte , die zum Erstellen von Modellen mit Kompatibilitätsgrad 1200 verwendet werden. Andere Analysis Services-Projektvorlagen für mehrdimensionale und Data Mining-Lösungen sind ebenfalls enthalten, aber auf derselben Funktionsebene (1100 oder 1103) wie in früheren Releases.

Anzeigeordner

Anzeigeordner sind jetzt für Tabellenmodelle 1200 verfügbar. Anzeigeordner werden in SQL Server Data Tools definiert und in Clientanwendungen wie Excel oder Power BI Desktop gerendert. Sie können damit eine große Anzahl von Measures in einzelnen Ordnern organisieren und so eine visuelle Hierarchie für eine einfachere Navigation in Feldlisten hinzufügen.

Bidirektionale Kreuzfilterung

Neu in dieser Version ist eine integrierte Methode zum Aktivieren bidirektionaler Kreuzfilter in tabellarischen Modellen, durch die keine Notwendigkeit für manuell erstellte DAX-Umgehungen für die Tabellenbeziehungen übergreifende Weitergabe des Filterkontexts mehr besteht. Filter werden nur automatisch generiert, wenn die Richtung mit einem hohen Grad an Sicherheit bestimmt werden kann. Bei einer Mehrdeutigkeit in Form von mehreren Abfragepfaden über Tabellenbeziehungen wird kein Filter automatisch erstellt. Weitere Informationen finden Sie unter Bidirektionale Kreuzfilter für tabellarische Modelle in SQL Server 2016 Analysis Services .

Translations

Sie können jetzt übersetzte Metadaten in einem tabellarischen 1200-Modell speichern. Metadaten im Modell enthalten Felder für Culture, übersetzte Beschriftungen und übersetzte Beschreibungen. Um Übersetzungen hinzuzufügen, verwenden Sie den BefehlModellübersetzungen> in SQL Server Data Tools. Weitere Informationen finden Sie unter Übersetzungen in tabellarischen Modellen (Analysis Services).

Eingefügte Tabellen

Es ist jetzt möglich, ein tabellarisches Modell mit 1100 oder 1103 auf 1200 zu aktualisieren, wenn das Modell eingefügte Tabellen enthält. Es wird empfohlen, SQL Server Data Tools zu verwenden. Legen Sie in SSDT CompatibilityLevel auf 1200 fest, und stellen Sie dann SQL Server 2017 instance SQL Server Analysis Services bereit. Einzelheiten dazu finden Sie unter Compatibility Level for Tabular models in Analysis Services .

Berechnete Tabellen in SSDT

Eine berechnete Tabelle ist eine reine Modellkonstruktion, die auf einem DAX-Ausdruck oder einer DAX-Abfrage in SSDT basiert. Wenn eine berechnete Tabelle in einer Datenbank bereitgestellt wird, kann sie nicht von regulären Tabellen unterschieden werden.

Es gibt verschiedene Verwendungsmöglichkeiten für berechnete Tabellen, einschließlich der Erstellung neuer Tabellen, um eine vorhandene Tabelle in einer bestimmten Rolle verfügbar zu machen. Das klassische Beispiel ist eine Datumstabelle, die in mehreren Kontexten (Bestelldatum, Versanddatum usw.) verwendet wird. Durch das Erstellen einer berechneten Tabelle für eine bestimmte Rolle können Sie jetzt eine Tabellenbeziehung aktivieren, um Abfragen oder Dateninteraktionen mit der berechneten Tabelle zu ermöglichen. Ein weiterer Verwendungszweck für berechnete Tabellen ist, Teile von vorhandenen Tabellen zu einer völlig neuen Tabelle zu kombinieren, die nur im Modell vorhanden ist. Weitere Informationen finden Sie unter Erstellen einer berechneten Tabelle .

Formelkorrektur

Mit der Formelkorrektur für ein tabellarisches 1200-Modell aktualisiert SSDT automatisch alle Measures, die auf eine umbenannte Spalte oder Tabelle verweisen.

Unterstützung für den Visual Studio-Konfigurations-Manager

Für die Unterstützung mehrerer Umgebungen, z. B. Test- und Vorbereitungsumgebungen, können Entwickler in Visual Studio mit dem Konfigurations-Manager mehrere Projektkonfigurationen erstellen. Mehrdimensionale Modelle nutzen dies bereits, tabellarische Modellen bisher jedoch nicht. Ab dieser Version können Sie den Konfigurations-Manager für die Bereitstellung auf unterschiedlichen Servern verwenden.

Instanzverwaltung

Verwalten von tabellarischen 1200-Modellen in SSMS

In dieser Version kann eine Analysis Services-Instanz im tabellarischen Servermodus tabellarische Modelle mit jedem Kompatibilitätsgrad (1100, 1103, 1200) ausführen. Die neueste Version von SQL Server Management Studio wurde aktualisiert, um Eigenschaften anzuzeigen und die Verwaltung von Datenbankmodellen für tabellarische Modelle mit Kompatibilitätsgrad 1200 zu ermöglichen.

Parallele Verarbeitung für mehrere Tabellenpartitionen in tabellarischen Modellen

Diese Version enthält neue Funktionen für die parallele Verarbeitung für Tabellen mit zwei oder mehr Partitionen, sodass die Verarbeitungsleistung erhöht wird. Es sind keine Konfigurationseinstellungen für diese Funktion vorhanden. Weitere Informationen zum Konfigurieren von Partitionen und zum Verarbeiten von Tabellen finden Sie unter Tabellenmodellpartitionen.

Hinzufügen von Computerkonten als Administratoren in SSMS

SQL Server Analysis Services Administratoren können jetzt SQL Server Management Studio verwenden, um Computerkonten als Mitglieder der Gruppe SQL Server Analysis Services-Administratoren zu konfigurieren. Legen Sie im Dialogfeld Benutzer oder Gruppen auswählen die Speicherorte für die Computerdomäne fest, und fügen Sie dann den Objekttyp Computer hinzu. Weitere Informationen finden Sie unter Erteilen von Serveradministratorrechten für eine Analysis Services-Instanz.

DBCC für Analysis Services

Database Consistency Checker (DBCC) wird intern ausgeführt, um potenzielle Probleme mit beschädigten Daten beim Laden der Datenbank zu ermitteln. Sie können das Tool aber auch bei Bedarf ausführen, wenn Sie Probleme in Ihren Daten oder Ihrem Modell vermuten. DBCC führt verschiedene Überprüfungen abhängig davon aus, ob das Modell tabellarisch oder mehrdimensional ist. Ausführliche Informationen finden Sie unter Database Consistency Checker (DBCC) für tabellarische und mehrdimensionale Analysis Services-Datenbanken .

Updates für erweiterte Ereignisse

In dieser Version wird SQL Server Management Studio eine grafische Benutzeroberfläche hinzugefügt, um SQL Server Analysis Services erweiterte Ereignisse zu konfigurieren und zu verwalten. Sie können Livedatenströme zum Überwachen der Serveraktivität in Echtzeit einrichten, Sitzungsdaten für schnellere Analysen im Arbeitsspeicher belassen oder Datenströme für die Offlineanalyse in einer Datei speichern. Weitere Informationen finden Sie unter Überwachen von Analysis Services mit den erweiterten Ereignissen von SQL Server.

Skripterstellung

PowerShell für tabellarische Modelle

Diese Version enthält die PowerShell-Erweiterungen für tabellarische Modelle mit dem Kompatibilitätsgrad 1200. Sie können alle anwendbaren Cmdlets sowie spezifische Cmdlets für den tabellarischen Modus verwenden: Invoke-ProcessASDatabase und Invoke-ProcessTable.

SSMS-Skripts für Datenbankvorgänge

In der neuesten Version von SQL Server Management Studio (SSMS)sind Skripts jetzt für Datenbankbefehle aktiviert, einschließlich der Befehle zum Erstellen, Ändern, Löschen, Sichern, Wiederherstellen, Anfügen und Trennen. Die Ausgabe erfolgt in der Skriptsprache für tabellarische Modelle (Tabular Model Scripting Language, TMSL) in JSON. Weitere Informationen finden Sie unter Referenz zur Skriptsprache für tabellarische Modelle (TMSL).

DDL ausführen (Analysis Services-Task)

DerAnalysis Services-Task „DDL ausführen“ akzeptiert nun auch TMSL-Befehle (Tabular Model Scripting Language).

SSAS-PowerShell-Cmdlets

Das SSAS-PowerShell-Cmdlet Invoke-ASCmd akzeptiert jetzt TMSL-Befehle (Tabular Model Scripting Language). Weitere SSAS-PowerShell-Cmdlets werden in einer künftigen Version aktualisiert, sodass die neuen tabellarischen Metadaten verwendet werden können (auf Ausnahmen wird in den Anmerkungen zur jeweiligen Version hingewiesen). Einzelheiten dazu finden Sie unter Analysis Services PowerShell Reference .

TMSL-Unterstützung (Tabular Model Scripting Language) in SSMS

Mithilfe der neuesten Version von SSMSkönnen Sie Skripts zum Automatisieren der meisten Verwaltungsaufgaben für tabellarische 1200-Modelle erstellen. Derzeit können die folgenden Aufgaben mithilfe von Skripts ausgeführt werden: „Process“ auf allen Ebenen sowie CREATE, ALTER und DELETE auf Datenbankebene.

Funktionell entspricht TMSL der ASSL-XMLA-Erweiterung, die mehrdimensionale Objektdefinitionen bietet. Jedoch verwendet TMSL native Deskriptoren wie model, tableund relationship , um tabellarische Metadaten zu beschreiben. Ausführliche Informationen zum Schema finden Sie unter Referenz zur Skriptsprache für tabellarische Modelle (TMSL).

Ein generiertes JSON-basiertes Skript für ein tabellarisches Modell könnte folgendermaßen aussehen:

{
  "create": {
    "database": {
      "name": "AdventureWorksTabular1200",
      "id": "AdventureWorksTabular1200",
      "compatibilityLevel": 1200,
      "readWriteMode": "readWrite",
      "model": {}
    }
  }
}

Die Nutzlast ist ein JSON-Dokument, das so minimal sein kann wie das oben gezeigte Beispiel oder stark mit dem vollständigen Satz von Objektdefinitionen versehen sein kann. Die Referenz zur Tabellarischen Modellskripterstellungssprache (TMSL) beschreibt die Syntax.

Auf Datenbankebene geben die Befehle CREATE, ALTER und DELETE das TMSL-Skript im vertrauten XMLA-Fenster aus. Andere Befehle wie „Process“ können in diesem Release auch mit Skripts verwendet werden. Skriptunterstützung für viele weitere Aktionen wird ggf. in einer zukünftigen Version hinzugefügt.

Skriptfähige Befehle Beschreibung
create Fügt eine Datenbank, eine Verbindung oder eine Partition hinzu. Die ASSL-Entsprechung ist CREATE.
createOrReplace Aktualisiert eine vorhandene Objektdefinition (Datenbank, Verbindung oder Partition) durch Überschreiben einer früheren Version. Die ASSL-Entsprechung ist ALTER, wobei „AllowOverwrite“ auf „true“ und „ObjectDefinition“ auf „ExpandFull“ festgelegt ist.
Löschen Entfernt eine Objektdefinition. Die ASSL-Entsprechung ist DELETE.
Aktualisieren Verarbeitet das Objekt. Die ASSL-Entsprechung ist PROCESS.

DAX

Verbesserte DAX-Formelbearbeitung

Updates der Formelleiste helfen Ihnen beim Schreiben von Formeln, indem Sie Funktionen, Felder und Measures mithilfe von Syntaxfarben unterscheiden, bietet sie intelligente Funktions- und Feldvorschläge und informiert Sie, ob Teile Ihres DAX-Ausdrucks mithilfe von Fehlersquiggles falsch sind. Zudem können Sie mehrere Zeilen (Alt + Eingabe) und Einzüge (Tab) verwenden. Die Formelleiste ermöglicht es Ihnen jetzt auch, Kommentare als Teil Ihrer Measures zu schreiben, geben Sie einfach "//" ein, und alles, nachdem diese Zeichen in der gleichen Zeile stehen, wird als Kommentar betrachtet.

DAX-Variablen

Diese Version bietet jetzt Unterstützung für Variablen in DAX. Variablen können jetzt das Ergebnis eines Ausdrucks als benannte Variable speichern, die dann als Argument für andere Measureausdrücke übergeben werden kann. Sobald die resultierenden Werte für einen Variablenausdruck berechnet wurden, werden diese Werte nicht wieder geändert, auch wenn auf die Variable in einem anderen Ausdruck verwiesen wird. Weitere Informationen finden Sie unter VAR-Funktion.

Neue DAX-Funktionen

Mit dieser Version stellt DAX über&50; neue Funktionen zur Unterstützung schnellerer Berechnungen und verbesserter Visualisierungen in Power BI bereit. Weitere Informationen finden Sie unter Neue DAX-Funktionen.

Speichern unvollständiger Measures

Sie können jetzt unvollständige DAX-Measures direkt in einem Projekt mit einem tabellarischen 1200-Modell speichern und erneut verwenden, wenn Sie fortfahren möchten.

Zusätzliche DAX-Erweiterungen

  • Nicht leere Berechnung: reduziert die Anzahl der Scans, die für nicht leere Berechnungen erforderlich sind.
  • Measurezusammenführung: Mehrere Measures aus der gleichen Tabelle werden in einer Abfrage für die Speicher-Engine zusammengefasst.
  • Gruppierungssätze: Wenn eine Abfrage Measures auf mehrere Granularitäten (Summe/Jahr/Monat) abfragt, wird nur eine Abfrage auf der untersten Ebene gesendet, und die restlichen Granularitäten werden von der niedrigsten Ebene abgeleitet.
  • Beseitigung redundanter Verknüpfungen: Eine einzelne Abfrage an die Speicher-Engine gibt sowohl die Dimensionsspalten als auch die Measurewerte zurück.
  • Strenge Evaluierung von IF/SWITCH: Eine Verzweigung, deren Bedingung FALSE ist, führt nicht mehr zu Speicher-Engine-Abfragen. Früher wurden Verzweigungen sorgfältig ausgewertet, aber die Ergebnisse später verworfen.

Entwickler

Microsoft.AnalysisServices.Tabular-Namespace für tabellarische 1200-Programmierbarkeit in AMO

Zu Analysis Services Management Objects (AMO) gehört jetzt ein neuer tabellarischer Namespace für die Verwaltung einer tabellarischen Instanz von SQL Server 2016 Analysis Services sowie die Datendefinitionssprache zum programmgesteuerten Erstellen oder Ändern von tabellarischen 1200-Modellen. Weitere Informationen zur API finden Sie unter Microsoft.AnalysisServices.Tabular .

Aktualisierungen von Analysis Services Management Objects (AMO)

Analysis Services-Verwaltungsobjekte (Analysis Services Management Objects, AMO) wurde neu berechnet, um eine zweite Assembly einzuschließen, Microsoft.AnalysisServices.Core.dll. Die neue Assembly trennt allgemeine Klassen wie Server, Datenbank und Rolle, die umfassend in Analysis Services eingesetzt werden, unabhängig vom Servermodus. Zuvor waren diese Klassen Teil der ursprünglichen Microsoft.AnalysisServices-Assembly. Durch das Verschieben in eine neue Assembly sind zukünftige Erweiterungen von AMO mit einer klaren Trennung zwischen generischen und kontextspezifischen APIs möglich. Vorhandene Anwendungen sind von den neuen Assemblys sind nicht betroffen. Sollten Sie Anwendungen aus einem beliebigen Grund unter Verwendung der neuen AMO-Assembly neu erstellen, müssen Sie jedoch einen Verweis auf „Microsoft.AnalysisServices.Core“ hinzufügen. Auch PowerShell-Skripts, die AMO laden und aufrufen, müssen jetzt „Microsoft.AnalysisServices.Core.dll“ laden. Aktualisieren Sie unbedingt alle Skripts.

JSON-Editor für BIM-Dateien

Mit der Codeansicht in Visual Studio 2015 wird jetzt die BIM-Datei für tabellarische 1200-Modelle im JSON-Format gerendert. Die Version von Visual Studio bestimmt, ob die BIM-Datei über den integrierten JSON-Editor in JSON oder als einfacher Text gerendert wird.

Damit Sie im JSON-Editor die Abschnitte des Modells erweitern und reduzieren können, benötigen Sie die neueste Version von SQL Server Data Tools sowie Visual Studio 2015 (beliebige Edition, einschließlich der kostenlosen Community Edition). Für alle anderen Versionen von SSDT oder Visual Studio wird die BIM-Datei in JSON als einfacher Text gerendert. Mindestens enthält ein leeres Modell den folgenden JSON-Code:

  {  
    "name": "SemanticModel",
    "id": "SemanticModel",
    "compatibilityLevel": 1200,
    "readWriteMode": "readWrite",
    "model": {}
  }  

Warnung

Vermeiden Sie das direkte Bearbeiten des JSON-Codes. Dadurch kann das Modell beschädigt werden.

Neue Elemente im Schema „MS-CSDLBI 2.0“

Die folgenden Elemente wurden dem komplexen Typ TProperty hinzugefügt, der im Schema „[MS-CSDLBI] 2.0“ definiert ist:

Element Definition
DefaultValue Eine Eigenschaft, die den Wert angibt, der beim Auswerten der Abfrage verwendet wird. Die DefaultValue-Eigenschaft ist optional, aber sie wird automatisch aktiviert, wenn die Werte des Elements nicht aggregiert werden können.
Statistik Ein Satz von Statistiken aus den zugrunde liegenden Daten, die der Spalte zugeordnet sind. Diese Statistiken werden vom komplexen Typ „TPropertyStatistics“ definiert und nur bereitgestellt, wenn das Generieren nicht rechenintensiv ist, wie im Abschnitt 2.1.13.5 des Dokuments „Conceptual Schema Definition File Format with Business Intelligence Annotations“ (Dateiformat der konzeptionellen Schemadefinition mit Business Intelligence-Anmerkungen) beschrieben.

DirectQuery

Neue DirectQuery-Implementierung

In dieser Version wurde DirectQuery für tabellarische 1200-Modelle erheblich erweitert. Hier finden Sie eine Zusammenfassung:

  • DirectQuery generiert jetzt einfachere Abfragen, die eine höhere Leistung bieten.
  • Zusätzliche Kontrolle über das Definieren von Beispieldatasets, die für Modellentwurf und -tests verwendet werden.
  • Sicherheit auf Zeilenebene (Row Level Security, RLS) wird jetzt im DirectQuery-Modus für tabellarische 1200-Modelle unterstützt. Zuvor hat das Vorhandensein von RLS verhindert, dass ein tabellarisches Modell im DirectQuery-Modus ausgeführt werden konnte.
  • Berechnete Spalten werden nun für tabellarische 1200-Modelle im DirectQuery-Modus nicht unterstützt. Zuvor hat das Vorhandensein von berechneten Spalten verhindert, dass ein tabellarisches Modell im DirectQuery-Modus ausgeführt werden konnte.
  • Die Leistungsoptimierung umfasst auch die Beseitigung redundanter Verknüpfungen für VertiPaq und DirectQuery.

Neue Datenquellen für den DirectQuery-Modus

Datenquellen, die für tabellarische 1200-Modelle im DirectQuery-Modus unterstützt werden, umfassen jetzt Oracle, Teradata und Microsoft Analytics Platform (früher als Parallel Data Warehouse bekannt). Weitere Informationen finden Sie unter DirectQuery-Modus.

Veraltete Features in SSAS 2016

Die folgenden Features sind in dieser Version veraltet :

Modus/Kategorie Funktion
Mehrdimensional Remotepartitionen
Mehrdimensional Remoteverknüpfte Measuregruppen
Mehrdimensional Dimensionales Rückschreiben
Mehrdimensional Verknüpfte Dimensionen
Mehrdimensional SQL Server-Tabellenbenachrichtigungen für proaktives Zwischenspeichern.
Der Ersatz erfolgt durch die Verwendung eines Abrufs für proaktives Zwischenspeichern.
Weitere Informationen finden Sie unter Proaktives Zwischenspeichern (Dimensionen) und Proaktives Zwischenspeichern (Partitionen).
Mehrdimensional Sitzungscubes. Es ist kein Ersatz vorhanden.
Mehrdimensional Lokale Cubes Es ist kein Ersatz vorhanden.
Tabellarisch Kompatibilitätsgrade für die Tabellenmodelle 1100 und 1103 werden in einer zukünftigen Version nicht unterstützt. Die Ersetzung besteht darin, Modelle auf Kompatibilitätsgrad 1200 oder höher festzulegen und Modelldefinitionen in tabellarische Metadaten zu konvertieren. Weitere Informationen finden Sie unter Kompatibilitätsgrad für tabellarische Modelle in Analysis Services.
Tools SQL Server Profiler für die Ablaufverfolgungssammlung

Der Ersatz verwendet den in SQL Server Management Studio eingebetteten Profiler für erweiterte Ereignisse.
Weitere Informationen finden Sie unter Überwachen von Analysis Services mit den erweiterten Ereignissen von SQL Server.
Tools Server Profiler für die Ablaufverfolgungswiedergabe
Ersatz. Es ist kein Ersatz vorhanden.
Verwaltungsobjekte für die Ablaufverfolgung und Ablaufverfolgungs-APIs Microsoft.AnalysisServices.Trace-Objekte (enthält die APIs für Analysis Services Ablauf-und Wiedergabeobjekte). Der Ersatz ist mehrteilig:

– Ablaufverfolgungskonfiguration: Microsoft.SqlServer.Management.XEvent
- Ablaufverfolgungslesung: Microsoft.SqlServer.XEvent.Linq
– Ablaufverfolgungswiedergabe: Keine

Nicht mehr unterstützte Features in SSAS 2016

Die folgenden Features werden in dieser Version eingestellt :

Funktion Alternative oder Problemumgehung
CalculationPassValue (MDX) Keine. Diese Funktion wurde in SQL Server 2005 als veraltet markiert.
CalculationCurrentPass (MDX) Keine. Diese Funktion wurde in SQL Server 2005 als veraltet markiert.
Hinweis NON_EMPTY_BEHAVIOR für den Abfrageoptimierer Keine. Diese Funktion wurde in SQL Server 2008 als veraltet markiert.
COM-Assemblys Keine. Diese Funktion wurde in SQL Server 2008 als veraltet markiert.
Systeminterne Zelleneigenschaft CELL_EVALUATION_LIST Keine. Diese Funktion wurde in SQL Server 2005 als veraltet markiert.

Breaking Changes in SSAS 2016

.NET 4.0-Versionsupgrade

Analysis Services Management Objects (AMO), ADOMD.NET und TOM-Clientbibliotheken (Tabular Object Model) zielen jetzt auf die .NET 4.0-Runtime ab. Dies kann für Anwendungen, die auf .NET 3.5 ausgerichtet sind, eine wichtige Änderung sein. Anwendungen, die neuere Versionen dieser Assemblys verwenden, müssen jetzt auf .NET 4.0 oder höher ausgerichtet sein.

AMO-Versionsupgrade

Dieses Release ist ein Versionsupgrade für Analysis Services Management Objects (AMO) und stellt unter bestimmten Umständen einen Breaking Change bereit. Vorhandener Code und Skripts, die AMO aufrufen, werden bei einem Upgrade von einer vorherigen Version wie bisher ausgeführt. Wenn Sie Ihre Anwendung jedoch neu kompilieren müssen und eine SQL Server 2016 Analysis Services-instance als Ziel haben, müssen Sie den folgenden Namespace hinzufügen, damit Ihr Code oder Skript funktionsfähig ist:

using Microsoft.AnalysisServices;  
using Microsoft.AnalysisServices.Core;  

Der Namespace Microsoft.AnalysisServices.Core ist jetzt jedes Mal erforderlich, wenn Sie die Microsoft.AnalysisServices-Assembly in Ihrem Code referenzieren. Objekte, die zuvor nur im Microsoft.AnalysisServices -Namespace enthalten waren, werden in dieser Version in den Core-Namespace verschoben, wenn das Objekt in tabellarischen und mehrdimensionalen Szenarien auf die gleiche Weise verwendet wird. Beispielsweise werden serverorientierte APIs zum Core-Namespace verschoben.

Obgleich jetzt mehrere Namespaces vorhanden sind, existieren alle in derselben Assembly (Microsoft.AnalysisServices.dll).

Änderungen an XEvent DISCOVER

Um das XEvent DISCOVER-Streaming in SSMS für SQL Server 2016 Analysis Services besser zu unterstützen, DISCOVER_XEVENT_TRACE_DEFINITION wird durch die folgenden XEvent-Ablaufverfolgungen ersetzt:

  • DISCOVER_XEVENT_PACKAGES

  • DISCOVER_XEVENT_OBJECT

  • DISCOVER_XEVENT_OBJECT_COLUMNS

  • DISCOVER_XEVENT_SESSION_TARGETS

Verhaltensänderungen in SSAS 2016

Analysis Services im SharePoint-Modus

Die Ausführung des Assistenten für die PowerPivot-Konfiguration ist nach der Installation nicht mehr erforderlich. Dies gilt für alle unterstützten Versionen von SharePoint, die Modelle aus dem aktuellen SQL Server 2016 Analysis Services laden.

DirectQuery-Modus für tabellarische Modelle

DirectQuery ist ein Datenzugriffsmodus für tabellarische Modelle, in dem die Abfrageausführung in einer relationalen Back-End-Datenbank stattfindet, wobei ein Resultset in Echtzeit abgerufen wird. Er wird häufig für sehr große Datasets verwendet, die nicht in den Arbeitsspeicher passen. Er wird zudem verwendet, wenn Daten flüchtig sind und Sie möchten, dass die aktuellsten Daten in Abfragen an ein tabellarisches Modell zurückgegeben werden.

DirectQuery war als Datenzugriffsmodus in den letzten Releases vorhanden. In SQL Server Analysis Services 2016 wurde die Implementierung geringfügig überarbeitet, sofern das tabellarische Modell den Kompatibilitätsgrad 1200 oder höher aufweist. DirectQuery hat weniger Einschränkungen als bisher. Es verfügt außerdem über verschiedene Datenbankeigenschaften.

Wenn Sie DirectQuery in einem vorhandenen tabellarischen Modell verwenden, können Sie für das Modell dessen aktuellen Kompatibilitätsgrad von 1100 oder 1103 erhalten und DirectQuery weiterhin verwenden, da es für diese Grade implementiert ist. Alternativ können Sie ein Upgrade auf 1200 oder höher durchführen, um von verbesserungen an DirectQuery zu profitieren.

Es gibt kein direktes Upgrade eines DirectQuery-Modells, da die Einstellungen aus älteren Kompatibilitätsgraden keine genauen Entsprechungen in den neueren Kompatibilitätsgraden 1200 und höher aufweisen. Wenn Sie über ein tabellarisches Modell verfügen, das im DirectQuery-Modus ausgeführt wird, sollten Sie das Modell in SQL Server Data Tools öffnen, DirectQuery deaktivieren, die Kompatibilitätsgradeigenschaft auf 1200 oder höher festlegen und dann die DirectQuery-Eigenschaften neu konfigurieren. Weitere Informationen finden Sie unter DirectQuery-Modus .

Definitionen

Ein veraltetes Feature wird in einem zukünftigen Release aus dem Produkt eingestellt, wird aber weiterhin unterstützt und im aktuellen Release enthalten, um die Abwärtskompatibilität zu gewährleisten. Es wird empfohlen, die Verwendung veralteter Features in neuen und vorhandenen Projekten einzustellen, um die Kompatibilität mit zukünftigen Releases zu gewährleisten. Die Dokumentation für veraltete Features wird nicht aktualisiert.

Ein nicht mehr eingestelltes Feature wurde in einer früheren Version als veraltet gekennzeichnet. Es kann weiterhin in der aktuellen Version enthalten sein, wird aber nicht mehr unterstützt. Eingestellte Features können in der angegebenen oder zukünftigen Version vollständig entfernt werden.

Eine breaking change führt dazu, dass ein Feature, datenmodell, Anwendungscode oder Skript nach dem Upgrade auf das aktuelle Release nicht mehr funktioniert.

Eine Verhaltensänderung wirkt sich auf die Funktionsweise desselben Features in der aktuellen Version im Vergleich zur vorherigen Version aus. Es werden nur signifikante Verhaltensänderungen beschrieben. Änderungen an der Benutzeroberfläche sind nicht enthalten. Änderungen an Standardwerten, manuelle Konfiguration, die erforderlich ist, um eine Upgrade- oder Wiederherstellungsfunktion abzuschließen, oder eine neue Implementierung eines vorhandenen Features sind Beispiele für eine Verhaltensänderung.