適用対象: SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
この記事では、SQL Server Analysis Services (SSAS) の最新バージョンにおける新機能、機能強化、非推奨および廃止された機能、動作と破壊的変更についてまとめます。
SQL Server 2025 Analysis Services
パフォーマンスの向上
Excel の計算グループと書式指定文字列を含むモデル
計算グループと書式指定文字列を使用したモデルに対する MDX クエリのパフォーマンスが大幅に向上し、メモリ使用量を減らし、応答性を向上させました。 最新の変更により、次のいずれかまたは両方を含むモデルで Excel で分析する操作のパフォーマンスと信頼性が大幅に向上します。
指標の動的書式指定文字列
書式指定文字列を含む集計アイテム
詳細については、動的書式指定文字列に関するページを参照してください。
DirectQuery の並列クエリ実行
DirectQuery モードでの並列処理が改善され、複雑なクエリの応答時間が短縮されます。 基本的な考え方は、1 つの DAX クエリに対して複数のクエリをデータソースに並列化することで、クエリのパフォーマンスを最大化することです。 このクエリの並列化により、データ ソースの遅延とネットワーク待機時間がクエリのパフォーマンスに与える影響が軽減されます。 詳細については、この ブログを参照してください。
水平 Fusion
SSAS 2025 には、最新バージョンの Horizontal Fusion が組み込まれています。これは、DAX によって生成される SQL クエリの数を減らし、DirectQuery の効率を向上させるクエリ パフォーマンスの最適化です。 詳細については、「 水平融合の発表」を参照してください。
DAX の関数と機能
視覚的な計算
今日の DAX の記述方法は、 ビジュアル計算の導入によって変わります。 ビジュアル計算は、ビジュアルで直接定義および実行される DAX 計算です。 ビジュアル計算では、列、メジャー、その他のビジュアル計算など、ビジュアル内の任意のデータを参照できます。 この方法では、セマンティック モデルの複雑さが排除され、DAX の記述プロセスが簡略化されます。 ビジュアル計算を使用して、合計の実行や移動平均などの一般的なビジネス計算を実行できます。 ビジュアル計算を有効にして使用する方法の詳細については、 ビジュアル計算の概要に関するページを参照してください。
値フィルターの動作
値フィルターの動作を制御するための新しいオプションが導入されています。 [独立値フィルター] 設定を有効にすると、ユーザーは、同じテーブル上の複数のフィルターを 1 つの結合されたフィルターに自動的に組み合わせないようにすることができます。 この変更により、柔軟性が向上し、より正確で独立したフィルター処理が特定のモデリング ニーズを満たし、データ クエリの精度と制御が強化されます。 SSAS にこのプロパティを設定するには、ValueFilterBehavior プロパティに基づいて表形式オブジェクト モデルまたは TMSL を使用できます。 詳細については、「 値フィルターの動作」を参照してください。
計算グループの選択式
選択式を使用すると、特定の条件が満たされたときに計算がどのように動作するかを細かく制御できます。 選択式では、複数の計算項目が選択されている場合、または計算グループで特定の選択が行われなかった場合を処理するための追加のロジックが導入されています。 詳細については、「 計算グループ」を参照してください。
DAX 関数の機能強化
SSAS 2025 には、複数の新しい DAX 関数のサポートと、次のような機能強化が含まれています。
LINEST と LINESTX: これら 2 つの関数は、最小二乗法を使用して線形回帰を実行し、指定されたデータに最適な直線を計算し、その線を記述するテーブルを返します。 これらの関数は、既知の値 (X) を指定した場合に不明な値 (Y) を予測する場合に特に役立ちます。 詳細については、LINEST DAX 関数 と LINESTX DAX 関数 に関するページを参照してください。
INFO 関数: 既存の TMSCHEMA DMV は、DAX 関数の新しいファミリとして利用できるようになりました。これにより、DAX 内でセマンティック モデルに関するメタデータを直接照会できるようになり、他の DAX 関数と統合して診断と分析が強化されます。 詳細については、「 情報 DAX 関数」を参照してください。
APPROXIMATEDISTINCTCOUNT: この関数は現在 DirectQuery モードで使用でき、クエリのパフォーマンスに最適化されたデータ ソースで対応する集計操作を呼び出すことによって、列内の一意の値の推定カウントを返します。 詳細については、「 Approximatedistinctcount DAX 関数」を参照してください。この関数には、サポートされているデータ ソースが一覧表示されています。
ウィンドウ関数: この関数は、絶対位置または相対位置を使用して結果のスライスを取得します。 WINDOW 関数を使用すると、値の範囲の選択に依存する、実行中の合計、移動平均などの計算を簡単に実行できます。 また、ORDERBY と PARTITIONBY という 2 つのヘルパー関数も付属しています。 詳細については、「 Window DAX 関数」を参照してください。
MINX/MAXX: MINX および MAXX DAX 関数にオプションのバリアント パラメーターを追加しました。 従来、これらの関数は、テキストや数値などのバリアント型または混合データ型がある場合、テキストとブール値を無視します。 新しいオプションのバリアント パラメーターが TRUE に設定されたので、関数はテキスト値を考慮します。 詳細については、 MINX DAX 関数 と MAXX DAX 関数に関するページを参照してください。
その他の機能
クライアント ライブラリの更新
お客様は、バイナリ XML サポート、TMDL シリアル化などのパフォーマンス、信頼性、機能の向上からメリットを得るために、最新の Analysis Services ライブラリにアップグレードすることをお勧めします。 具体的には、XMLA ベースの通信をプレーン テキスト XML からバイナリ XML に切り替え、.NET クライアント ライブラリの圧縮を有効にしました。 詳細については、 xmla ベースのツールの通信パフォーマンスの向上に関する ブログを参照してください。 Analysis Services クライアント ライブラリのダウンロード ページで、最新の クライアント ライブラリ バージョンをいつでも見つけることもできます。
Unicode 文字処理の機能強化
SSAS では、DAX の中国政府標準GB18030などの文字標準に対して Unicode サロゲート ペアのサポートが提供され、更新された Unicode 標準がサポートされるようになりました。
診断の実行メトリック
実行メトリックが XEvent と Profiler トレースを介して公開され、お客様はクエリ のパフォーマンスをより効果的に分析できるようになりました。
SSAS 2025 の非推奨の機能と破壊的変更
Excel PowerPivot for SharePoint の非推奨
インストーラーから Excel PowerPivot for SharePoint モードが削除されました。 この機能は以前のリリースでは非推奨となり、サポートされなくなりました。
SQL クライアント アセンブリの更新
SSAS 2025 では、新しい SQL クライアント ライブラリが使用されるようになりました。 新しいプロバイダー名 (Microsoft.Data.SqlClient) を反映するために、モデル定義を更新する必要がある場合があります。
SQL Server 2022 Analysis Services
累積更新プログラム 1 (CU1)
暗号化のアップグレード
この更新プログラムには、スキーマ書き込み操作暗号化アルゴリズムの機能強化が含まれています。 この機能強化では、適切な暗号化を確保するために、表形式および多次元モデル データベースをアップグレードする必要がある場合があります。 詳細については、「暗号化の アップグレード」を参照してください。
一般公開 (GA)
水平融合
このバージョンでは、結果の生成と返しに必要なデータ ソース クエリの数を減らすことを目的としたクエリ実行プランの最適化である Horizontal Fusion が導入されています。 複数の小さいデータ ソース クエリが、より大きなデータ ソース クエリに結合されます。 データ ソース クエリの数が少ないほど、ラウンド トリップが少なくなり、大規模なデータ ソースに対するコストのかかるスキャンが少なくなるため、DAX のパフォーマンスが大幅に向上し、データ ソースの処理要求が減少します。 特に DirectQuery モードでは、Horizontal Fusion を使用すると DAX クエリの実行速度が向上します。 さらに、スケーラビリティも向上します。
DirectQuery の並列実行プラン
この改善により、Analysis Services エンジンは、DirectQuery データ ソースに対する DAX クエリを分析し、独立したストレージ エンジンの操作を識別できます。 エンジンは、データ ソースに対してこれらの操作を並列で実行できます。 Analysis Services エンジンは、操作を並列で実行することで、拡張性の高い大規模なデータ ソースを利用してクエリのパフォーマンスを向上させることができます。 クエリ処理でデータ ソースが過剰に負荷されないようにするには、 MaxParallelism プロパティ設定を使用して、並列操作に使用できる固定数のスレッドを指定します。
Power BI DirectQuery セマンティック モデルのサポート
このバージョンでは、SQL Server 2022 Analysis Services モデルへの DirectQuery 接続を使用した Power BI モデルのサポートが導入されています。 2022 年 5 月以降のバージョンの Power BI Desktop を使用するデータ モデラーとレポート作成者は、Power BI モデル、Azure Analysis Services、および SSAS 2022 からインポートされた他の DirectQuery データを組み合わせることができるようになりました。
詳細については、「 セマンティック モデルと Analysis Services での DirectQuery の使用」を参照してください。Power BI のドキュメント。
MDX クエリのパフォーマンス
Power BI で初めて導入され、SSAS 2022 で導入された MDX Fusion には、MDX クエリあたりのストレージ エンジン (SE) クエリの数を減らす数式エンジン (FE) の最適化が含まれています。 多次元式 (MDX) を使用して、Microsoft Excel などのモデル/データセット データのクエリを実行するクライアント アプリケーションでは、クエリのパフォーマンスが向上します。 一般的な MDX クエリ パターンでは、さまざまな粒度をサポートするために以前に多数の SE クエリが必要だった場合に必要な SE クエリが少なくなります。 SE クエリの数が少ないほど、大規模なモデルに対するコストのかかるスキャンが減り、特に直接クエリ モードで表形式モデルに接続する場合に、パフォーマンスが大幅に向上します。
詳細については、「 Power BI での MDX クエリのパフォーマンス向上の発表」を参照してください。 |Microsoft Power BI ブログ。
リソース ガバナンス
このバージョンには、QueryMemoryLimit サーバー メモリ プロパティと DbpropMsmdRequestMemoryLimit 接続文字列プロパティの精度が向上しています。
SSAS 2019 で初めて導入された QueryMemoryLimit サーバー メモリ プロパティは、クエリ処理中に中間 DAX クエリ結果が作成されるメモリ スプールにのみ適用されます。 SSAS 2022 では、すべてのクエリを効果的にカバーする MDX クエリにも適用されます。 処理コストの高いクエリをより適切に制御でき、結果として重要な具体化が行われます。 クエリが指定された制限に達すると、エンジンはクエリをキャンセルし、呼び出し元にエラーを返し、他の同時ユーザーへの影響を軽減します。
クライアント アプリケーションでは、 DbpropMsmdRequestMemoryLimit 接続文字列プロパティを指定することで、クエリごとに許容されるメモリをさらに削減できます。 キロバイト単位で指定されたこのプロパティは、接続の QueryMemoryLimit サーバー メモリ プロパティ値をオーバーライドします。
クエリ インターリーブ - 高速キャンセルによる短縮クエリの傾向
このバージョンでは、Threadpool\SchedulingBehavior プロパティ設定 の高速キャンセルを伴う短いクエリ バイアス を指定する新しい値が導入されました。 このプロパティ設定により、コンカレンシーの高いシナリオでのユーザー クエリの応答時間が向上します。 詳細については、「 クエリ インターリーブ - 構成」を参照してください。
表形式モデル 1600 互換性レベル
このバージョンでは、表形式モデルの 1600 互換性レベル が導入されています。 1600 互換性レベルは、Power BI と Azure Analysis Services の最新の機能と一致します。
SSAS 2022 の非推奨の機能
このバージョンでは 、非推奨 の機能は発表されていません。
SSAS 2022 で廃止された機能
このバージョンでは、次の機能 が廃止されています 。
モード/カテゴリ | 特徴 |
---|---|
表形式 | 1100 および 1103 互換性レベル |
多次元 | データマイニング |
Power Pivot モード | Power Pivot for SharePoint |
SSAS 2022 の破壊的変更
表形式モデル 1100 と 1103 の互換性レベルは、このバージョンでは廃止されています。 破壊的変更を防ぐために、以前の SSAS バージョンを SSAS 2022 にアップグレードする前に、モデルを 1200 互換性レベルにアップグレードします。
SSAS 2022 での動作の変更
このバージョンでは 動作の変更 はありません。
SQL Server 2019 Analysis Services
SQL Server 2019 Analysis Services CU 5
SQL Server Analysis Services の累積的な更新プログラムは、SQL Server の累積的な更新プログラムに含まれています。 最新の累積的な更新プログラムの詳細とダウンロードについては、 SQL Server 2019 の最新の累積的な更新プログラムを参照してください。 累積的な更新プログラムの KB ページでは、SSAS を含むすべての SQL Server 機能に関する既知の問題、改善点、修正プログラムがまとめられています。 SSAS の主要な機能更新プログラムの詳細については、ここで説明します。
多次元モデルの SuperDAX (SuperDAXMD)
CU5 を使用すると、DAX ベースのクライアントは、多次元モデルに対して SuperDAX 関数とクエリ パターンを使用できるようになり、モデル データのクエリ時のパフォーマンスが向上します。 SuperDAX では、Power BI と SQL Server Analysis Services 2016 を使用した表形式モデルに対する DAX クエリの最適化が最初に導入されました。 SuperDAXMD は、多次元モデルにこれらの改善をもたらします。
Power BI ブログの別のお知らせでは、Power BI Desktop の最新バージョンをダウンロードすることで、Power BI ユーザーがこの多次元モデルのパフォーマンス向上を活用する方法について説明しています。 Power BI サービスの既存の対話型レポートは、Power BI によって最適化された SuperDAX クエリが自動的に生成されるため、追加の手順なしでメリットを得ることができます。 Power BI では、SuperDAX がサポートされている多次元モデルへの接続が自動的に検出され、テーブル モデルに対して既に使用されているのと同じ最適化された DAX 関数とクエリ パターンが使用されます。 Power BI は SuperDAXMD に自動的に切り替えることができますが、独自のビジネス インテリジェンス ソリューションでは、DAX クエリ パターンを手動で最適化する必要がある場合があります。
最適化されたクエリ パターンでは、 SUMMARIZECOLUMNS 関数を使用して、効率の低い標準 SUMMARIZE 関数を置き換える必要があります。 DAX 変数 VAR を使用して、定義の場所で式を 1 回だけ計算し、その結果を他の DAX 式で再利用します。計算を再度実行する必要はありません。 その他の、そしておそらくあまり一般的ではない SuperDAX 関数には、SUBSTITUTEWITHINDEX、ADDMISSINGITEMS、NATURALLEFTOUTERJOIN、NATURALINNERJOIN、ISONORAFTER、およびGROUPBYがあります。 SELECTCOLUMNS と UNION も SuperDAX 関数です。
DAX が多次元モデルでどのように機能するか、および注意すべき重要なパターンと制約の詳細については、 多次元モデルの DAX を参照してください。
SQL Server 2019 Analysis Services GA (一般提供)
表形式モデルの互換性レベル
このリリースでは、表形式モデルの 1500 互換性レベル が導入されています。
クエリ交互処理
クエリ インターリーブは、同時実行性の高いシナリオでユーザー クエリの応答時間を向上させることができる表形式モードのシステム構成です。 クエリ バイアスが 短いクエリ インターリーブを使用すると、同時実行クエリで CPU リソースを共有できます。 詳細については、「クエリ インターリーブ」を参照してください。
表形式モデルでの計算グループ
計算グループを使用すると、一般的なメジャー式を計算品目としてグループ化することにより、冗長なメジャーの数を大幅に削減できます。 計算グループは、単一の列を持つテーブルとしてレポート クライアントに表示されます。 列の各値は、任意のメジャーに適用できる再利用可能な計算または計算項目を表します。 計算グループには、任意の数の計算項目を含めることができます。 各計算項目は、DAX 式によって定義されます。 詳細については、「 計算グループ」を参照してください。
Power BI キャッシュの更新に対するガバナンス設定
ClientCacheRefreshPolicy プロパティ設定が SSAS 2019 以降でサポートされるようになりました。 このプロパティ設定は、Azure Analysis Services で既に使用できます。 Power BI サービスは、ダッシュボード タイル データとレポート データをキャッシュして Live Connect レポートの初期読み込みを行います。その結果、エンジンに送信されるキャッシュ クエリの数が多くなり、極端な場合はサーバーが過負荷になります。 ClientCacheRefreshPolicy プロパティを使用すると、サーバー レベルでこの動作をオーバーライドできます。 詳細については、「全般プロパティ」を参照してください。
オンラインのアタッチ
この機能は、表形式モデルをオンライン操作としてアタッチする機能を提供します。 オンラインのアタッチは、オンプレミスのクエリ スケールアウト環境で読み取り専用レプリカを同期するために使用できます。 オンライン接続操作を実行するには、[XMLA のアタッチ] コマンドの AllowOverwrite オプションを使用します。
この操作では、新しいバージョンの読み込み中に古いバージョンをオンラインに保つために 、モデル メモリの 2 倍 が必要になる場合があります。
一般的な使用パターンは次のようになります。
DB1 (バージョン 1) は既に読み取り専用サーバー B に接続されています。
DB1 (バージョン 2) は書き込みサーバー A で処理されます。
DB1 (バージョン 2) はデタッチされ、サーバー B からアクセスできる場所に配置されます (共有場所を使用するか、robocopy などを使用します)。
AllowOverwrite=True の Attach コマンドは、DB1 (バージョン 2) の新しい場所を持つサーバー B で実行されます。
この機能がない場合、管理者はまずデータベースをデタッチしてから、新しいバージョンのデータベースをアタッチする必要があります。 これにより、ユーザーがデータベースを使用できないときにダウンタイムが発生し、データベースに対するクエリが失敗します。
この新しいフラグを指定すると、データベースのバージョン 1 は、ダウンタイムなしで同じトランザクション内でアトミックに削除されます。 ただし、両方のデータベースを同時にメモリに読み込む必要があります。
表形式モデルでの多対多リレーションシップ
この改善により、両方の列が一意でないテーブル間の多対多リレーションシップが可能になります。 ディメンションとファクト テーブルの間には、ディメンションのキー列よりも高い粒度でリレーションシップを定義できます。 これにより、ディメンション テーブルを正規化する必要がなくなり、結果として得られるモデルのテーブルの数が論理的にグループ化された列が少なくなるため、ユーザー エクスペリエンスを向上させることができます。
多対多リレーションシップでは、モデルが 1500 以上の互換性レベルである必要があります。 Visual Studio 2019 と Analysis Services プロジェクト VSIX update 2.9.2 以降、表形式オブジェクト モデル (TOM) API、表形式モデル スクリプト言語 (TMSL)、およびオープンソースの表形式エディター ツールを使用して、多対多リレーションシップを作成できます。
リソース ガバナンスのメモリ設定
次のプロパティ設定により、リソース ガバナンスが向上します。
- Memory\QueryMemoryLimit - このメモリ プロパティを使用して、モデルに送信された DAX クエリによって構築されたメモリ スプールを制限できます。
- DbpropMsmdRequestMemoryLimit - この XMLA プロパティを使用して、接続の Memory\QueryMemoryLimit サーバー プロパティ値をオーバーライドできます。
- OLAP\Query\RowsetSerializationLimit - このサーバー プロパティは、行セットに返される行数を制限し、サーバー リソースを広範なデータ エクスポートの使用から保護します。 このプロパティは、DAX クエリと MDX クエリの両方に適用されます。
これらのプロパティは、最新バージョンの SQL Server Management Studio (SSMS) を使用して設定できます。 これらの設定は、Azure Analysis Services で既に使用できます。
SSAS 2019 の非推奨の機能
このリリースで発表 された非推奨 の機能はありません。
SSAS 2019 で廃止された機能
このリリースで廃止予定の機能は発表されていません。
SSAS 2019 の破壊的変更
このリリースには 重大な変更 はありません。
SSAS 2019 での動作の変更
このリリースでは 動作の変更 はありません。
SQL Server 2017 Analysis Services
SQL Server 2017 Analysis Services には、SQL Server 2012 以降の最も重要な機能強化がいくつか表示されます。 このリリースでは、表形式モード (SQL Server 2012 Analysis Services で初めて導入) の成功に基づいて、表形式モデルがこれまで以上に強力になります。
多次元モードと Power Pivot for SharePoint モードは、多くの Analysis Services 展開の主な役割を果たします。 Analysis Services 製品ライフサイクルでは、これらのモードは成熟しています。 このリリースでは、これらのモードの新機能はありません。 ただし、バグ修正とパフォーマンスの向上が含まれています。
ここで説明する機能は、SQL Server 2017 Analysis Services に含まれています。 ただし、それらを利用するには、Analysis Services プロジェクトと SQL Server Management Studio (SSMS) で最新バージョンの Visual Studio を使用する必要もあります。 Analysis Services プロジェクトと SSMS は、SQL Server の新機能と通常一致する新機能と改善された機能で毎月更新されます。
すべての新機能について学ぶことは重要ですが、このリリースと今後のリリースで非推奨と廃止される内容を理解することも重要です。 詳細については、 SSAS 2017 の非推奨の機能に関するページを参照してください。
このリリースの主な新機能をいくつか見てみましょう。
表形式モデルの 1400 互換性レベル
ここで説明する新機能の多くを利用するには、新規または既存の表形式モデルを 1400 互換性レベルに設定またはアップグレードする必要があります。 1400 互換性レベルのモデルを SQL Server 2016 SP1 以前に展開したり、下位互換性レベルにダウングレードしたりすることはできません。 詳細については、「 Analysis Services 表形式モデルの互換性レベル」を参照してください。
Visual Studio では、新しい表形式モデル プロジェクトを作成するときに、新しい 1400 互換性レベルを選択できます。
Visual Studio で既存の表形式モデルをアップグレードするには、ソリューション エクスプローラーで Model.bim を右クリックし、[ プロパティ] で[互換性レベル ] プロパティを SQL Server 2017 (1400) に設定します。
既存のモデルを 1400 にアップグレードした後はダウングレードできないことに注意してください。 必ず、1200 モデル データベースのバックアップを保持してください。
最新のデータ取得エクスペリエンス
データ ソースから表形式モデルにデータをインポートする場合、SSDT では、1400 互換性レベルでモデルの最新の データ取得 エクスペリエンスが導入されます。 この新機能は、Power BI Desktop と Microsoft Excel 2016 の同様の機能に基づいています。 最新のデータ取得エクスペリエンスでは、Get Data クエリ ビルダーと M 式を使用して、膨大なデータ変換とデータ マッシュアップ機能を提供します。
最新のデータ取得エクスペリエンスでは、さまざまなデータ ソースがサポートされます。 今後、更新プログラムにはさらに多くのサポートが含まれます。
強力で直感的なユーザー インターフェイスにより、データとデータ変換/マッシュアップ機能をこれまで以上に簡単に選択できます。
最新のデータ取得エクスペリエンスと M マッシュアップ機能は、1200 互換性レベルから 1400 にアップグレードされた既存の表形式モデルには適用されません。 新しいエクスペリエンスは、1400 互換性レベルで作成された新しいモデルにのみ適用されます。
エンコード ヒント
このリリースでは、大規模なインメモリ テーブル モデルの処理 (データ更新) を最適化するために使用される高度な機能であるエンコード ヒントが導入されています。 エンコードについて理解を深めるには、 SQL Server 2012 Analysis Services の表形式モデルのパフォーマンス チューニングに関 するホワイトペーパーを参照して、エンコードについて理解を深めます。
値のエンコードにより、通常は集計にのみ使用される列のクエリ パフォーマンスが向上します。
ハッシュ エンコードは、グループ化列 (多くの場合、ディメンション テーブル値) と外部キーに適しています。 文字列列は常にハッシュ エンコードされます。
数値列では、これらのエンコード方法のいずれかを使用できます。 Analysis Services がテーブルの処理を開始するときに、テーブルが空 (パーティションありまたはパーティションなし) であるか、テーブル全体の処理操作が実行されている場合は、数値列ごとにサンプル値が取得され、値とハッシュ エンコードのどちらを適用するかを決定します。 既定では、列内の個別の値のサンプルが十分に大きい場合は値エンコードが選択されます。それ以外の場合は、通常、ハッシュ エンコードによって圧縮が向上します。 Analysis Services では、データ分散に関する詳細情報に基づいて列が部分的に処理された後にエンコード方法を変更し、エンコード プロセスを再開することができます。ただし、これにより処理時間が長くなり、非効率的になります。 パフォーマンス チューニングのホワイト ペーパーでは、再エンコードについて詳しく説明し、SQL Server Profiler を使用して検出する方法について説明します。
エンコード ヒントを使用すると、データ プロファイリングやトレース イベントの再エンコードに対する応答として、事前に知識が与えられたエンコード方法の優先順位を指定できます。 ハッシュエンコード列に対する集計は、値でエンコードされた列よりも遅いため、そのような列のヒントとして値のエンコードを指定できます。 ユーザー設定が適用されるとは限りません。 これは設定ではなくヒントです。 エンコード ヒントを指定するには、列に EncodingHint プロパティを設定します。 指定できる値は、"Default"、"Value"、"Hash" です。 Model.bim ファイルからの JSON ベースのメタデータの次のスニペットは、Sales Amount 列の値のエンコードを指定します。
{
"name": "Sales Amount",
"dataType": "decimal",
"sourceColumn": "SalesAmount",
"formatString": "\\$#,0.00;(\\$#,0.00);\\$#,0.00",
"sourceProviderType": "Currency",
"encodingHint": "Value"
}
不規則階層
表形式モデルでは、親子階層をモデル化できます。 レベルの数が異なる階層は、多くの場合、不規則階層と呼ばれます。 既定では、低い子より下のレベルでは、不規則階層が空白で表示されます。 組織図の不規則な階層の例を次に示します。
このリリースでは、 メンバーの非表示 プロパティが導入されています。 階層の [メンバーの非表示] プロパティを [ 空のメンバーを非表示] に設定できます。
注
モデル内の空白のメンバーは、空の文字列ではなく DAX 空白値で表されます。
[空のメンバーを非表示にする] に設定し、モデルを配置すると、Excel などのレポート クライアントに階層の読みやすくなります。
詳細行
これで、メジャー値に関連するカスタム行セットを定義できるようになりました。 詳細行は、多次元モデルの既定のドリルスルー アクションに似ています。 これにより、エンド ユーザーは集計レベルよりも詳細に情報を表示できます。
次のピボットテーブルは、Adventure Works サンプル表形式モデルのインターネット合計売上を年別に示しています。 メジャーから集計値を持つセルを右クリックし、[ 詳細の表示 ] をクリックして詳細行を表示できます。
既定では、Internet Sales テーブルに関連付けられているデータが表示されます。 この制限付き動作は、多くの場合、テーブルに顧客名や注文情報などの有用な情報を表示するために必要な列がない可能性があるため、ユーザーにとって意味がありません。 詳細行を使用すると、メジャーの 詳細行式 プロパティを指定できます。
メジャーの詳細行式プロパティ
メジャーに関するDetail Rows Expressionプロパティを使用すると、モデル作成者はエンドユーザーに表示される列と行をカスタマイズできます。
SELECTCOLUMNS DAX 関数は、詳細行式でよく使用されます。 次の例では、Adventure Works のタブラー モデル内の「Internet Sales」テーブルの行に対して返される列を定義します。
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]
)
プロパティが定義され、モデルがデプロイされると、ユーザーが [詳細の表示] を選択すると、カスタム行セットが返されます。 選択されたセルのフィルターコンテキストが自動的に尊重されます。 この例では、2010 値の行のみが表示されます。
テーブルの既定の詳細行式プロパティ
測定に加えて、テーブルには詳細行の式を定義するプロパティもあります。 Default Detail Rows Expression プロパティは、テーブル内のすべてのメジャーの既定値として機能します。 独自の式が定義されていない測定項目は、テーブルから式を継承し、テーブルに対して定義された行セットを表示します。 これにより、式を再利用でき、後でテーブルに追加された新しいメジャーは自動的に式を継承します。
DETAILROWS DAX 関数
このリリースには、詳細行式で定義された行セットを返す新しい DETAILROWS
DAX 関数が含まれています。 これは MDX の DRILLTHROUGH
ステートメントと同様に機能します。これは、表形式モデルで定義されている詳細行式とも互換性があります。
次の DAX クエリは、メジャーまたはそのテーブルの詳細行式によって定義された行セットを返します。 式が定義されていない場合、Internet Sales テーブルのデータはメジャーを含むテーブルであるため、返されます。
EVALUATE DETAILROWS([Internet Total Sales])
オブジェクト レベルのセキュリティ
このリリースでは、テーブルと列 のオブジェクト レベルのセキュリティ が導入されています。 テーブルと列のデータへのアクセスを制限するだけでなく、機密性の高いテーブルと列名をセキュリティで保護できます。 これにより、悪意のあるユーザーがこのようなテーブルが存在することを検出するのを防ぐことができます。
オブジェクト レベルのセキュリティは、JSON ベースのメタデータ、表形式モデル スクリプト言語 (TMSL)、またはテーブル オブジェクト モデル (TOM) を使用して設定する必要があります。
たとえば、次のコードは、TablePermission クラスの MetadataPermission プロパティを None に設定することで、サンプル Adventure Works テーブル モデルの Product テーブルをセキュリティで保護するのに役立ちます。
//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);
動的管理ビュー (DMV)
DMV は、ローカル サーバーの操作とサーバーの正常性に関する情報を返す SQL Server Profiler のクエリです。 このリリースには、1200 および 1400 互換性レベルの表形式モデルの 動的管理ビュー (DMV) の機能強化が含まれています。
DISCOVER_CALC_DEPENDENCY は、1200 以降の表形式モデルで動作するようになりました。 表形式 1400 以降のモデルは、M パーティション、M 式、および構造化データ ソース間の依存関係を示しています。 詳細については、 Analysis Services のブログを参照してください。
この DMV にはMDSCHEMA_MEASUREGROUP_DIMENSIONS機能強化が含まれています。この DMV は、さまざまなクライアント ツールによって測定次元を示すために使用されます。 たとえば、Excel ピボット テーブルの [探索] 機能を使用すると、ユーザーは選択したメジャーに関連するディメンションにクロスドリルできます。 このリリースでは、以前は正しくない値が表示されていたカーディナリティ列が修正されます。
DAX の機能強化
新しい DAX 機能の最も重要な部分の 1 つは、DAX 式用の新しい IN 演算子/CONTAINSROW 関数 です。 これは、WHERE
句で複数の値を指定するために一般的に使用されるTSQL IN
演算子に似ています。
以前は、次のメジャー式のように、論理 OR
演算子を使用して複数値フィルターを指定するのが一般的でした。
Filtered Sales:=CALCULATE (
[Internet Total Sales],
'Product'[Color] = "Red"
|| 'Product'[Color] = "Blue"
|| 'Product'[Color] = "Black"
)
これは、 IN
演算子を使用して簡略化されます。
Filtered Sales:=CALCULATE (
[Internet Total Sales], 'Product'[Color] IN { "Red", "Blue", "Black" }
)
この場合、 IN
演算子は、3 行の単一列テーブルを参照します。指定された色ごとに 1 つずつです。 テーブルコンストラクターの構文では中かっこが使用されていることに注意が必要です。
IN
演算子は、機能的にはCONTAINSROW
関数と同等です。
Filtered Sales:=CALCULATE (
[Internet Total Sales], CONTAINSROW({ "Red", "Blue", "Black" }, 'Product'[Color])
)
IN
演算子は、テーブル コンストラクターでも効果的に使用できます。 たとえば、次の測定は、製品の色とカテゴリの組み合わせによって絞り込まれます。
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" )
)
)
新しい IN
演算子を使用すると、上記のメジャー式は次と同じになります。
Filtered Sales:=CALCULATE (
[Internet Total Sales],
FILTER( ALL('Product'),
('Product'[Color], Product[Product Category Name]) IN
{ ( "Red", "Accessories" ), ( "Blue", "Bikes" ), ( "Black", "Clothing" ) }
)
)
その他の機能強化
Analysis Services、SSDT、SSMS のすべての新機能に加えて、次の機能強化も含まれています。
- 階層と列の再利用は、Power BI フィールド リストの役に立つ場所に表示されます。
- 日付フィールドに基づいて日付ディメンションとのリレーションシップを簡単に作成するための日付リレーションシップ。
- Analysis Services の既定のインストール オプションが表形式モードになりました。
- 新しいデータ取得 (Power Query) データ ソース。
- SSDT 用の DAX エディター。
- 既存の DirectQuery データ ソースでは、M クエリがサポートされています。
- 構造化データ ソースの表示、編集、スクリプトのサポートなど、SSMS の機能強化。
SSAS 2017 の非推奨の機能
このリリースでは、次の機能 は非推奨となっています 。
モード/カテゴリ | 特徴 |
---|---|
多次元 | データマイニング |
多次元 | リモート接続された測定グループ |
表形式 | 1100 および 1103 互換性レベルのモデル |
表形式 | テーブル オブジェクト モデルのプロパティ - Column.TableDetailPosition、Column.IsDefaultLabel、Column.IsDefaultImage |
ツール | トレース キャプチャ用の SQL Server Profiler 代わりに、SQL Server Management Studio に埋め込まれた拡張イベント プロファイラーを使用します。 SQL Server 拡張イベントを使用した Analysis Services の監視を参照してください。 |
ツール | トレース再生用のサーバー プロファイラー 取り替え。 交換はありません。 |
トレース管理オブジェクトとトレース API | Microsoft.AnalysisServices.Trace オブジェクト (Analysis Services トレースおよび再生オブジェクトの API が含まれます)。 置換は複数の部分で構成されています。 - トレース構成: Microsoft.SqlServer.Management.XEvent - トレース読み取り: Microsoft.SqlServer.XEvent.Linq - トレース再生: なし |
SSAS 2017 で廃止された機能
このリリースでは、次の機能 が廃止されました 。
モード/カテゴリ | 特徴 |
---|---|
表形式 | VertiPaqPagingPolicy メモリ プロパティ値 (2)、メモリ マップされたファイルを使用してディスクへのページングを有効にします。 |
多次元 | リモート パーティション |
多次元 | リモート接続された測定グループ |
多次元 | ディメンション の書き戻し |
多次元 | リンクされたディメンション |
SSAS 2017 の破壊的変更
このリリースには 重大な変更 はありません。
SSAS 2017 での動作の変更
SQL Server 2017 CTP 2.1 for Analysis Services の新機能に関するお知らせで詳しく説明されている、MDSCHEMA_MEASUREGROUP_DIMENSIONSとDISCOVER_CALC_DEPENDENCYの変更。
SQL Server 2016 Analysis Services
SQL Server 2016 Analysis Services には、パフォーマンスの向上、ソリューションの作成の容易さ、自動データベース管理、双方向クロス フィルター処理によるリレーションシップの強化、並列パーティション処理などを提供する多くの新しい機能強化が含まれています。 このリリースのほとんどの機能強化の中核となるのは、表形式モデル データベースの新しい 1200 互換性レベルです。
SQL Server 2016 Service Pack 1 (SP1) Analysis Services
SQL Server 2016 Service SP1 Analysis Services は、非均一メモリ アクセス (NUMA) 認識と Intel スレッド構成要素 (Intel TBB) に基づく最適化されたメモリ割り当てにより、パフォーマンスとスケーラビリティが向上します。 この新しい機能は、より少ない強力なエンタープライズ サーバーでより多くのユーザーをサポートすることで、総保有コスト (TCO) を削減するのに役立ちます。
特に、SQL Server 2016 SP1 Analysis Services では、次の重要な領域が強化されています。
- NUMA 認識 - NUMA のサポートを向上するために、Analysis Services 内のインメモリ (VertiPaq) エンジンが各 NUMA ノードに個別のジョブ キューを保持するようになりました。 これにより、セグメント・スキャン・ジョブは、セグメント・データにメモリーが割り振られているのと同じノードで実行されます。 NUMA 認識は、少なくとも 4 つの NUMA ノードを持つシステムでのみ既定で有効になります。 2 ノード システムでは、通常、リモート割り当てメモリにアクセスするコストは、NUMA の詳細を管理するオーバーヘッドを保証しません。
- メモリ割り当て - Analysis Services は、Intel Threading Building Blocks によって高速化されました。これは、コアごとに個別のメモリ プールを提供するスケーラブルなアロケーターです。 コアの数が増えると、システムはほぼ直線的にスケーリングできます。
- ヒープの断片化 - Intel TBB ベースのスケーラブルアロケーターは、Windows ヒープで発生することが示されているヒープの断片化によるパフォーマンスの問題を軽減するのにも役立ちます。
パフォーマンスとスケーラビリティのテストでは、大規模なマルチノードエンタープライズ サーバーで SQL Server 2016 SP1 Analysis Services を実行すると、クエリのスループットが大幅に向上しました。
このリリースのほとんどの機能強化は表形式モデルに固有のものですが、多次元モデルに対して多くの機能強化が行われています。たとえば、DB2 や Oracle などのデータ ソースの個別カウント ROLAP 最適化、Excel 2016 でのドリルスルーマルチ選択のサポート、Excel クエリの最適化などです。
SQL Server 2016 一般提供 (GA) Analysis Services
モデリング
表形式 1200 モデルのモデリング パフォーマンスの向上
表形式 1200 モデルの場合、SSDT でのメタデータ操作は表形式 1100 または 1103 モデルよりもはるかに高速です。 これに対し、同じハードウェアでは、23 個のテーブルで SQL Server 2014 互換性レベル (1103) に設定されたモデルにリレーションシップを作成するには 3 秒かかりますが、互換性レベル 1200 に設定されたモデルで作成された同じリレーションシップには 1 秒未満かかります。
SSDT の表形式 1200 モデル用に追加されたプロジェクト テンプレート
このリリースでは、リレーショナル プロジェクトと BI プロジェクトを構築するために 2 つのバージョンの SSDT が不要になります。 SQL Server Data Tools for Visual Studio 2015 では、Analysis Services ソリューション用のプロジェクト テンプレートが追加されます。これには、1200 互換性レベルでモデルを構築するために使用される Analysis Services 表形式プロジェクト が含まれます。 多次元およびデータ マイニング ソリューション用の他の Analysis Services プロジェクト テンプレートも含まれていますが、以前のリリースと同じ機能レベル (1100 または 1103) になります。
フォルダーの表示
表形式の 1200 モデルで表示フォルダーを使用できるようになりました。 SQL Server Data Tools で定義され、Excel や Power BI Desktop などのクライアント アプリケーションでレンダリングされる表示フォルダーは、多数のメジャーを個々のフォルダーに整理するのに役立ち、フィールド リストのナビゲーションを容易にするビジュアル階層を追加します。
双方向クロスフィルタリング
このリリースの新機能は、表形式モデルで双方向クロス フィルターを有効にするための組み込みのアプローチであり、テーブル リレーションシップ間でフィルター コンテキストを伝達するための手動で作成された DAX 回避策は不要です。 フィルターは、方向を高い確実性で確立できる場合にのみ自動生成されます。 テーブル リレーションシップ間で複数のクエリ パスの形式があいまいな場合、フィルターは自動的に作成されません。 詳細については、 SQL Server 2016 Analysis Services の表形式モデルの双方向クロス フィルター を参照してください。
翻訳
翻訳されたメタデータを表形式の 1200 モデルに格納できるようになりました。 モデル内のメタデータには、 カルチャ、翻訳されたキャプション、および翻訳された説明のフィールドが含まれます。 翻訳を追加するには、SQL Server Data Tools の Model>Translations コマンドを使用します。 詳細については、 表形式モデルの翻訳 (Analysis Services) に関するページを参照してください。
貼り付け済みテーブル
貼り付けたテーブルがモデルに含まれている場合、1100 または 1103 の表形式モデルを 1200 にアップグレードできるようになりました。 SQL Server Data Tools を使用することをお勧めします。 SSDT で CompatibilityLevel を 1200 に設定し、SQL Server Analysis Services の SQL Server 2017 インスタンスに展開します。 詳細については、 Analysis Services の表形式モデルの互換性レベル に関するページを参照してください。
SSDT の計算テーブル
計算テーブルは、SSDT の DAX 式またはクエリに基づくモデルのみの構築です。 データベースにデプロイすると、計算テーブルは通常のテーブルと区別できません。
計算テーブルには、特定のロールの既存のテーブルを公開するための新しいテーブルの作成など、いくつかの用途があります。 従来の例は、複数のコンテキスト (注文日、出荷日など) で動作する Date テーブルです。 特定のロールに対して計算テーブルを作成することで、テーブル リレーションシップをアクティブ化して、計算テーブルを使用したクエリまたはデータ操作を容易にできるようになりました。 計算テーブルのもう 1 つの用途は、既存のテーブルの一部を、モデルにのみ存在するまったく新しいテーブルに結合することです。 詳細については、「 計算テーブルの作成 」を参照してください。
数式の修正
表形式の 1200 モデルで数式を修正すると、SSDT は名前を変更した列やテーブルを参照するすべてのメジャーを自動的に更新します。
Visual Studio 構成マネージャーのサポート
Visual Studio では、テスト環境や実稼働前環境などの複数の環境をサポートするために、開発者は構成マネージャーを使用して複数のプロジェクト構成を作成できます。 多次元モデルでは既にこれを利用していますが、表形式モデルでは活用されていませんでした。 このリリースでは、構成マネージャーを使用して別のサーバーに展開できるようになりました。
インスタンス管理
SSMS で表形式 1200 モデルを管理する
このリリースでは、表形式サーバー モードの Analysis Services インスタンスは、任意の互換性レベル (1100、1103、1200) で表形式モデルを実行できます。 最新の SQL Server Management Studio が更新され、プロパティが表示され、テーブル モデルのデータベース モデル管理が 1200 互換性レベルで提供されます。
テーブル モデルでの複数のテーブル パーティションの並列処理
このリリースには、2 つ以上のパーティションを持つテーブルの新しい並列処理機能が含まれています。これにより、処理パフォーマンスが向上します。 この機能の構成設定はありません。 パーティションの構成とテーブルの処理の詳細については、「 表形式モデルのパーティション」を参照してください。
SSMS でコンピューター アカウントを管理者として追加する
SQL Server Analysis Services 管理者は、SQL Server Management Studio を使用して、コンピューター アカウントを SQL Server Analysis Services 管理者グループのメンバーとして構成できるようになりました。 [ ユーザーまたはグループの選択 ] ダイアログで、コンピューター ドメインの 場所 を設定し、 Computers オブジェクトの種類を追加します。 詳細は、「Grant server admin rights to an Analysis Services instance」 (Analysis Services インスタンスにサーバー管理者権限を付与する) を参照してください。
Analysis Services のための DBCC
データベース整合性チェッカー (DBCC) は、データベースの読み込み時に潜在的なデータ破損の問題を検出するために内部で実行されますが、データまたはモデルの問題が疑われる場合は、オンデマンドで実行することもできます。 DBCC では、モデルが表形式か多次元かに応じて異なるチェックが実行されます。 詳細については、 Analysis Services の表形式および多次元データベースのデータベース整合性チェッカー (DBCC) を参照してください。
拡張イベントの更新
このリリースでは、SQL Server Management Studio にグラフィカル ユーザー インターフェイスを追加して、SQL Server Analysis Services 拡張イベントを構成および管理します。 ライブ データ ストリームを設定して、サーバー アクティビティをリアルタイムで監視したり、セッション データをメモリに読み込んでより高速な分析を行ったり、オフライン分析のためにデータ ストリームをファイルに保存したりできます。 詳細については、「 SQL Server 拡張イベントを使用した Analysis Services の監視」を参照してください。
スクリプトの作成
表形式モデルの PowerShell
このリリースには、互換性レベル 1200 の表形式モデルに対する PowerShell の機能強化が含まれています。 適用可能なすべてのコマンドレットに加えて、表形式モードに固有のコマンドレット (Invoke-ProcessASDatabase コマンドレットと Invoke-ProcessTable コマンドレット) を使用できます。
SSMS スクリプト データベース操作
最新の SQL Server Management Studio (SSMS) で、作成、変更、削除、バックアップ、復元、アタッチ、デタッチなどのデータベース コマンドに対してスクリプトが有効になりました。 出力は JSON の表形式モデル スクリプト言語 (TMSL) です。 詳細については、「 表形式モデル スクリプト言語 (TMSL) リファレンス 」を参照してください。
Analysis Services DDL 実行タスク
Analysis Services DDL 実行タスクで、表形式モデル スクリプト言語 (TMSL) コマンドも受け入れられるようになりました。
SSAS PowerShell コマンドレット
SSAS PowerShell コマンドレット Invoke-ASCmd が、表形式モデル スクリプト言語 (TMSL) コマンドを受け入れるようになりました。 他の SSAS PowerShell コマンドレットは、新しい表形式のメタデータを使用するように今後のリリースで更新される可能性があります (例外はリリース ノートで呼び出されます)。 詳細については、Analysis Services PowerShell リファレンスを参照してください。
SSMS でサポートされているテーブル モデル スクリプト言語 (TMSL)
最新バージョンの SSMS を使用して、表形式 1200 モデルのほとんどの管理タスクを自動化するスクリプトを作成できるようになりました。 現時点では、次のタスクをスクリプト化できます。任意のレベルでの処理、およびデータベース レベルでの CREATE、ALTER、DELETE。
TMSL は、モデル、テーブル、リレーションシップなどのネイティブ記述子を使用して表形式のメタデータを記述する点を除いて、多次元オブジェクト定義を提供する XMLA ASSL 拡張機能と機能的に同等です。 スキーマの詳細については、「 表形式モデル スクリプト言語 (TMSL) リファレンス 」を参照してください。
表形式モデル用に生成された JSON ベースのスクリプトは、次のようになります。
{
"create": {
"database": {
"name": "AdventureWorksTabular1200",
"id": "AdventureWorksTabular1200",
"compatibilityLevel": 1200,
"readWriteMode": "readWrite",
"model": {}
}
}
}
ペイロードは JSON ドキュメントであり、上記の例のように最小限にすることも、オブジェクト定義の完全なセットで非常に装飾することもできます。 表形式モデル スクリプト言語 (TMSL) リファレンス では、構文について説明します。
データベース レベルでは、CREATE、ALTER、DELETE コマンドによって、使い慣れた XMLA ウィンドウに TMSL スクリプトが出力されます。 プロセスなどの他のコマンドも、このリリースでスクリプト化できます。 他の多くのアクションのスクリプトサポートは、今後のリリースで追加される可能性があります。
スクリプト可能なコマンド | 説明 |
---|---|
創造する | データベース、接続、またはパーティションを追加します。 ASSL と同等の値は CREATE です。 |
作成または置換 | 以前のバージョンを上書きして、既存のオブジェクト定義 (データベース、接続、またはパーティション) を更新します。 ASSL に相当するのは ALTER で、AllowOverwrite が true に設定され、ObjectDefinition が ExpandFull に設定されています。 |
削除 | オブジェクト定義を削除します。 ASSL と同等の値は DELETE です。 |
更新 | オブジェクトを処理します。 ASSL に相当するものは PROCESS です。 |
DAX(ダックス)
DAX 数式の編集の改善
数式バーの更新は、構文の色分けを使用して関数、フィールド、メジャーを区別することで、数式をより簡単に記述するのに役立ち、インテリジェントな関数とフィールドの提案を提供し、DAX 式の一部がエラー 波線を使用して間違っているかどうかを示します。 また、複数行 (Alt + Enter キー) とインデント (Tab) を使用することもできます。 数式バーでは、メジャーの一部としてコメントを記述できるようになりました。"//" と入力するだけで、同じ行のこれらの文字の後にあるすべてのものがコメントと見なされます。
DAX 変数
このリリースでは、DAX での変数のサポートが含まれるようになりました。 変数は、式の結果を名前付き変数として格納できるようになりました。これにより、他のメジャー式に引数として渡すことができます。 変数式に対して結果の値が計算されると、変数が別の式で参照されている場合でも、それらの値は変更されません。 詳細については、 VAR 関数を参照してください。
新しい DAX 関数
このリリースでは、DAX では、Power BI でのより高速な計算と強化された視覚化をサポートする 50 を超える新しい関数が導入されています。 詳細については、「 新しい DAX 関数」を参照してください。
不完全な測定値を保存する
不完全な DAX メジャーを表形式の 1200 モデル プロジェクトに直接保存し、続行する準備ができたらもう一度選択できるようになりました。
DAX のその他の機能強化
- 空でない計算 - 空でない場合に必要なスキャンの数を減らします。
- Measure Fusion - 同じテーブルの複数のメジャーが 1 つのストレージ エンジン (クエリ) に結合されます。
- グループ化セット - クエリが複数の細分性 (Total/Year/Month) でメジャーを要求すると、1 つのクエリが最下位レベルで送信され、残りの粒度は最下位レベルから派生します。
- 冗長結合の削除 - ストレージ エンジンに対する 1 つのクエリで、ディメンション列とメジャー値の両方が返されます。
- IF/SWITCH の厳密な評価 - 条件が false のブランチでは、ストレージ エンジン クエリが発生しなくなります。 以前は、ブランチは熱心に評価されていましたが、結果は後で破棄されていました。
ディベロッパー
AMO での Tabular 1200 のプログラミングのための Microsoft.AnalysisServices.Tabular 名前空間
Analysis Services 管理オブジェクト (AMO) が更新され、SQL Server 2016 Analysis Services の表形式モード インスタンスを管理するための新しい表形式名前空間が含まれるだけでなく、表形式 1200 モデルをプログラムで作成または変更するためのデータ定義言語が提供されます。 API の詳細については、 Microsoft.AnalysisServices.Tabular にアクセスしてください。
Analysis Services 管理オブジェクト (AMO) の更新
Analysis Services 管理オブジェクト (AMO) は、2 つ目のアセンブリ (Microsoft.AnalysisServices.Core.dll) を含むように再ファクターされました。 新しいアセンブリは、サーバー モードに関係なく、Analysis Services で広範なアプリケーションを持つサーバー、データベース、ロールなどの一般的なクラスを分離します。 以前は、これらのクラスは元の Microsoft.AnalysisServices アセンブリの一部でした。 それらを新しいアセンブリに移動すると、ジェネリック API とコンテキスト固有 API の間で明確に分割され、AMO への将来の拡張機能の道が開きます。 既存のアプリケーションは、新しいアセンブリの影響を受けません。 ただし、何らかの理由で新しい AMO アセンブリを使用してアプリケーションを再構築する場合は、必ず Microsoft.AnalysisServices.Core への参照を追加してください。 同様に、AMO を読み込んで呼び出す PowerShell スクリプトは、Microsoft.AnalysisServices.Core.dll読み込む必要があります。 スクリプトは必ず更新してください。
BIM ファイルの JSON エディター
Visual Studio 2015 のコード ビューで、表形式 1200 モデルの BIM ファイルが JSON 形式でレンダリングされるようになりました。 Visual Studio のバージョンによって、組み込みの JSON エディターを使用して BIM ファイルが JSON でレンダリングされるか、単純なテキストとしてレンダリングされるかが決まります。
JSON エディターを使用するには、モデルのセクションを展開および折りたたみする機能を備えた最新バージョンの SQL Server Data Tools と Visual Studio 2015 (無料の Community エディションを含む任意のエディション) が必要です。 SSDT または Visual Studio の他のすべてのバージョンでは、BIM ファイルは単純なテキストとして JSON でレンダリングされます。 少なくとも、空のモデルには次の JSON が含まれます。
{
"name": "SemanticModel",
"id": "SemanticModel",
"compatibilityLevel": 1200,
"readWriteMode": "readWrite",
"model": {}
}
Warnung
JSON を直接編集しないでください。 そうすると、モデルが破損する可能性があります。
MS-CSDLBI 2.0 スキーマの新しい要素
[MS-CSDLBI] 2.0 スキーマで定義されている TProperty 複合型には、次の要素が追加されています。
要素 | 定義 |
---|---|
デフォルト値 | クエリの評価時に使用される値を指定するプロパティ。 DefaultValue プロパティは省略可能ですが、メンバーの値を集計できない場合は自動的に選択されます。 |
統計 | 列に関連付けられている基になるデータからの統計のセット。 これらの統計は TPropertyStatistics 複合型によって定義され、ビジネス インテリジェンス注釈付きの概念スキーマ定義ファイル形式のセクション 2.1.13.5 で説明されているように、生成する計算コストが高くない場合にのみ提供されます。 |
ダイレクトクエリ
新しい DirectQuery の実装
このリリースでは、表形式 1200 モデルの DirectQuery の大幅な機能強化が行われています。 概要を次に示します:
- DirectQuery では、パフォーマンスを向上させるより単純なクエリが生成されるようになりました。
- モデルの設計とテストに使用されるサンプル データセットの定義を追加で制御します。
- DirectQuery モードの表形式 1200 モデルで行レベル セキュリティ (RLS) がサポートされるようになりました。 以前は、RLS の存在により、DirectQuery モードで表形式モデルをデプロイできません。
- DirectQuery モードの表形式の 1200 モデルで計算列がサポートされるようになりました。 以前は、計算列が存在することで、DirectQuery モードで表形式モデルをデプロイできません。
- パフォーマンスの最適化には、VertiPaq と DirectQuery の冗長結合の削除が含まれます。
DirectQuery モードの新しいデータ ソース
DirectQuery モードの表形式 1200 モデルでサポートされているデータ ソースに、Oracle、Teradata、Microsoft Analytics Platform (旧称 Parallel Data Warehouse) が含まれるようになりました。 詳細については、「 DirectQuery モード」を参照してください。
SSAS 2016 の非推奨の機能
このリリースでは、次の機能 は非推奨となっています 。
モード/カテゴリ | 特徴 |
---|---|
多次元 | リモート パーティション |
多次元 | リモート接続された測定グループ |
多次元 | ディメンション の書き戻し |
多次元 | リンクされたディメンション |
多次元 | プロアクティブ キャッシュ用の SQL Server テーブル通知。 プロアクティブ キャッシュを実現するために、ポーリングを利用した置換手法を使用します。 プロアクティブ キャッシュ (ディメンション) とプロアクティブ キャッシュ (パーティション) を参照してください。 |
多次元 | セッション キューブ。 交換はありません。 |
多次元 | ローカル キューブ。 交換はありません。 |
表形式 | 表形式モデル 1100 と 1103 の互換性レベルは、今後のリリースではサポートされません。 代わりに、互換性レベル 1200 以上でモデルを設定し、モデル定義を表形式のメタデータに変換します。 Analysis Services の表形式モデルの互換性レベルを参照してください。 |
ツール | トレース キャプチャ用の SQL Server Profiler 代わりに、SQL Server Management Studio に埋め込まれた拡張イベント プロファイラーを使用します。 SQL Server 拡張イベントを使用した Analysis Services の監視を参照してください。 |
ツール | トレース再生用のサーバー プロファイラー 取り替え。 交換はありません。 |
トレース管理オブジェクトとトレース API | Microsoft.AnalysisServices.Trace オブジェクト (Analysis Services トレースおよび再生オブジェクトの API が含まれます)。 置換は複数の部分で構成されています。 - トレース構成: Microsoft.SqlServer.Management.XEvent - トレース読み取り: Microsoft.SqlServer.XEvent.Linq - トレース再生: なし |
SSAS 2016 で廃止された機能
このリリースでは、次の機能 が廃止されました 。
特徴 | 置換または回避策 |
---|---|
CalculationPassValue (MDX) | なし。 この機能は、SQL Server 2005 では非推奨となりました。 |
CalculationCurrentPass (MDX) | なし。 この機能は、SQL Server 2005 では非推奨となりました。 |
クエリオプティマイザーのヒント: NON_EMPTY_BEHAVIOR | なし。 この機能は、SQL Server 2008 では非推奨となりました。 |
COM アセンブリ | なし。 この機能は、SQL Server 2008 では非推奨となりました。 |
CELL_EVALUATION_LIST組み込みセルのプロパティ | なし。 この機能は、SQL Server 2005 では非推奨となりました。 |
SSAS 2016 の破壊的変更
.NET 4.0 バージョンのアップグレード
Analysis Services 管理オブジェクト (AMO)、ADOMD.NET、およびテーブル オブジェクト モデル (TOM) クライアント ライブラリが .NET 4.0 ランタイムを対象にするようになりました。 これは、.NET 3.5 を対象とするアプリケーションにとって重大な変更になる可能性があります。 これらのアセンブリの新しいバージョンを使用するアプリケーションは、.NET 4.0 以降をターゲットにする必要があります。
AMO バージョンのアップグレード
このリリースは、 Analysis Services 管理オブジェクト (AMO) のバージョン アップグレードであり、特定の状況での破壊的変更です。 AMO を呼び出す既存のコードとスクリプトは、以前のバージョンからアップグレードした場合と同様に実行されます。 ただし、アプリケーションを 再コンパイル する必要があり、SQL Server 2016 Analysis Services インスタンスを対象としている場合は、コードまたはスクリプトを動作させるために次の名前空間を追加する必要があります。
using Microsoft.AnalysisServices;
using Microsoft.AnalysisServices.Core;
コードで Microsoft.AnalysisServices アセンブリを参照するたびに、Microsoft.AnalysisServices.Core 名前空間が必要になりました。 以前 は Microsoft.AnalysisServices 名前空間にのみ存在していたオブジェクトは、表形式と多次元の両方のシナリオでオブジェクトが同じ方法で使用されている場合、このリリースでは Core 名前空間に移動されます。 たとえば、サーバー関連の API は Core 名前空間に再配置されます。
現在は複数の名前空間がありますが、両方とも同じアセンブリ (Microsoft.AnalysisServices.dll) に存在します。
XEvent DISCOVER の変更
SQL Server 2016 Analysis Services の SSMS での XEvent DISCOVER ストリーミングのサポートを強化するために、 DISCOVER_XEVENT_TRACE_DEFINITION
は次の XEvent トレースに置き換えられます。
DISCOVER_XEVENT_PACKAGES
DISCOVER_XEVENT_OBJECT
DISCOVER_XEVENT_OBJECT_COLUMNS
DISCOVER_XEVENT_SESSION_TARGETS
SSAS 2016 での動作の変更
SharePoint モードの Analysis Services
Power Pivot 構成ウィザードをインストール後のタスクとして実行する必要がなくなりました。 これは、現在の SQL Server 2016 Analysis Services からモデルを読み込む SharePoint のサポートされているすべてのバージョンに当てはまります。
表形式モデルの DirectQuery モード
DirectQuery は表形式モデルのデータ アクセス モードであり、クエリ実行はバックエンド リレーショナル データベースで実行され、結果セットをリアルタイムで取得します。 メモリに収まらない非常に大規模なデータセットや、データが揮発性であり、テーブル モデルに対するクエリで返される最新のデータが必要な場合によく使用されます。
DirectQuery は、過去のいくつかのリリースのデータ アクセス モードとして存在しています。 SQL Server 2016 Analysis Services では、表形式モデルが互換性レベル 1200 以上であると仮定して、実装が若干変更されました。 DirectQuery の制限は以前よりも少なくなります。 また、データベースプロパティも異なります。
既存の表形式モデルで DirectQuery を使用している場合は、モデルを現在の互換性レベル 1100 または 1103 に維持し、それらのレベルに実装されている DirectQuery を引き続き使用できます。 または、1200 以上にアップグレードして、DirectQuery の機能強化を利用することもできます。
DirectQuery モデルのインプレース アップグレードはありません。古い互換性レベルの設定には、新しい 1200 以上の互換性レベルに対応する正確な設定がないためです。 DirectQuery モードで実行される既存の表形式モデルがある場合は、SQL Server Data Tools でモデルを開き、DirectQuery をオフにして、 互換性レベル プロパティを 1200 以上に設定してから、DirectQuery プロパティを再構成する必要があります。 詳細については、「 DirectQuery モード 」を参照してください。
定義
非推奨の機能は今後のリリースで製品から廃止される予定ですが、下位互換性を維持するために現在のリリースで引き続きサポートされ、現在のリリースに含まれています。 今後のリリースとの互換性を維持するために、新規および既存のプロジェクトで非推奨の機能の使用を中止することをお勧めします。 非推奨の機能については、ドキュメントは更新されません。
廃止された機能は、以前のリリースで非推奨になりました。 現在のリリースには引き続き含まれる可能性がありますが、サポートされなくなりました。 廃止された機能は、記載または将来のリリースで完全に削除される可能性があります。
破壊的変更により、機能、データ モデル、アプリケーション コード、またはスクリプトは、現在のリリースにアップグレードした後で機能しなくなります。
動作の変更は、以前のリリースと比較して、現在のリリースで同じ機能がどのように動作するかに影響します。 重要な動作の変更のみが説明されています。 ユーザー インターフェイスの変更は含まれません。 既定値の変更、アップグレードまたは復元機能を完了するために必要な手動構成、または既存の機能の新しい実装はすべて、動作の変更の例です。