Azure Analysis Services が 1400 互換性レベルに対応

執筆者: Christian Wade (Senior Program Manager)

このポストは、5 月 4 日に投稿された 1400 compatibility level in Azure Analysis Services の翻訳です。

 

Azure Analysis Services の表形式モデルの 1400 互換性レベルへの対応が、パブリック プレビューとしてリリースされます。これにより、総合的な企業規模の分析ソリューションに多数の新しい接続やモデリング機能が追加され、これを使用することでより実用的なインサイトを獲得できるようになります。1400 互換性レベルは SQL Server 2017 Analysis Services でもサポートされるため、オンプレミスとクラウドの両方で同等のモデリング機能を使用できます。

以下は、1400 モデルへの対応によって実現した主な新機能の一部です。

  • データ接続と表形式モデルへの取り込みに対応した新規インフラストラクチャ。TOM API と TMSL スクリプトに対応。これにより以下のことが実現されます。
    • Azure Blob Storage などの新しいデータ ソースに対応
    • データの変換とマッシュアップが可能に
  • Microsoft Excel などの BI ツールがサポートされ、集計レポートから詳細データにドリルダウン可能。たとえば、エンドユーザーが特定地域、特定月の総売上高を表示しているときに、そこから関連する注文の詳細を確認できます。
  • オブジェクト レベルのセキュリティで、テーブルや列のデータだけでなくテーブル名や列名の非表示も可能に。
  • 組織図やアカウント図などの不規則階層のサポートを強化。
  • Power BI モデリング エクスペリエンスによりパフォーマンス、監視、一貫性などのさまざまな点を改良。

1400 互換性レベルのモデル向けのこれらの新機能を使用するには、SQL Server Data Tools (SSDT) 17.0 をダウンロードしてインストール (英語) する必要があります。

SSDT では、表形式モデル プロジェクトを新規作成する際、新たに追加された 1400 互換性レベルを選択できます。また、既存の表形式モデルをアップグレードすることも可能で、その場合はソリューション エクスプローラーで Model.bim ファイルを選択してから [Properties] ウィンドウで [Compatibility Level] を 1400 に設定します。1400 互換性レベルのモデルは、それ以下の互換性レベルにダウングレードすることはできません。

image

データ接続に対応した新規インフラストラクチャ

1400 モデルでは、データ接続と表形式モデルへの取り込みに対応した新規インフラストラクチャが導入され、TOM API と TMSL スクリプトに対応しています。この機能は、Power BI Desktop や Microsoft Excel 2016 の同様の機能を基盤としています。現時点では、Azure Analysis Services の 1400 互換性レベルでは下に示すクラウド ベースのデータ ソースのみがサポートされています。なお、近いうちに他のデータ ソースのサポートが追加される予定です。詳細については、Analysis Services チーム ブログ (英語)、および今後の Azure ブログの記事を参照してください。

  • Azure SQL Data Warehouse
  • Azure SQL Database
  • Azure Blob Storage

詳細行

表形式モデルの中でも特にご要望が多かった機能の 1 つが、メジャー値に使用するカスタム行セットの定義です。多次元モデルでは、これをドリルスルー アクションと行セット アクションで実現しています。この機能により、エンド ユーザーは集計レベルよりも詳細な情報を確認できます。

たとえば、次のピボットテーブルでは、表形式モデルの Adventure Works サンプルの年ごとの Internet Total Sales の値が表示されています。2010 のセルを右クリックしてから [Show Details] メニュー オプションを選択すると、詳細行が表示されます。

clip_image004

既定では、Internet Total Sales テーブルのすべての列が表示されます。しかし、これでは表示される列が多すぎたり、顧客名や注文情報などの有意義な情報が含まれた必要な列がテーブルに含まれなかったりと、希望どおりの表示内容にならないことがあります。

メジャーの Detail Rows Expression プロパティ

1400 モデルでは、メジャーの Detail Rows Expression プロパティを使用できます。このプロパティを使用すると、エンド ユーザーに返される列や行をモデル作成者がカスタマイズできます。次の例では、SSDT の DAX エディターを使用して InternetTotalSales メジャーに返される列を定義しています。

clip_image006

プロパティを定義してモデルをデプロイした場合、ユーザーが [Show Details] を選択するとカスタム行セットが返されます。このとき、選択されたセルのフィルター コンテキストが自動的に適用されます。たとえば、次の例では 2010 という値を含む行のみが表示されています。

clip_image007

詳細行の詳細については、こちらのブログ記事 (英語) を参照してください。

オブジェクト レベルのセキュリティ

表形式モデルでは、ロールによる細かいアクセス許可の制御や行レベルのフィルターによって機密データを保護しています。

1400 モデルではテーブル レベルおよび列レベルのセキュリティ対策が採用されていて、公表できないテーブルや列に含まれるデータだけでなく、そのテーブルや列の名前も保護することができます。これらの機能は、まとめてオブジェクト レベルのセキュリティ (OLS) と呼ばれます。

現行バージョンでは、OLS の設定には JSON ベースのメタデータである表形式モデルのスクリプト言語 (TMSL、英語)表形式オブジェクト モデル (TOM、英語) を使用します。なお、近いうちに SSDT のサポートも予定されています。次に示す Model.bim ファイル内の JSON ベースのメタデータ スニペットでは、ColumnPermission クラスの MetadataPermission プロパティを None に設定して、表形式モデルの Adventure Works サンプルに含まれている Employee テーブルの Base Rate 列を保護しています。

"roles": [

  {

    "name": "General Users",

    "description": "All allowed users to query the model",

    "modelPermission": "read",

    "tablePermissions": [

      {

        "name": "Employee",

        "columnPermissions": [

           {

              "name": "Base Rate",

              "metadataPermission": "none"

           }

        ]

      }

    ]

  }

上記の例では、認証を受けていないユーザーは、Power BI や Excel ピボットテーブルなどのクライアント ツールから Base Rate 列にアクセスすることはできません。また、そのようなユーザーは、DAX や MDX、またはこれを参照するメジャーを使用して Base Rate 列にクエリを発行することはできません。

OLS の詳細については、こちらのブログ記事 (英語) を参照してください。

不規則階層

以前の互換性レベルの表形式モデルは、親子関係の階層をモデル化するために使用できます。異なるレベル数が同時に存在する階層構造は、「不規則階層」と呼ばれます。不規則階層の例として、組織図が挙げられます。既定では、不規則階層の場合、下位の階層に空白のレベルが表示されることがあります。たとえば、下の Adventure Works の組織図は、見た目があまりよくありません。

clip_image009

1400 モデルでは、Hide Members プロパティを使用してこれを修正することが可能で、このプロパティを設定するだけで空白のメンバーを非表示にできます。

clip_image011

プロパティを設定してモデルをデプロイした場合、階層がすっきりとした形で表示されます。

clip_image013

その他の機能

1400 互換性レベルには、他にも以下のようなさまざまな機能が追加されています。詳細については、Analysis Services チーム ブログで SQL Server 2017 CTP 2.0 (英語) および Analysis Services 向けの Windows 用 SQL Server vNext CTP 1.1 (英語) の新機能に関する記事を公開していますので、そちらをお読みください。

  • トランザクションのパフォーマンス向上により、開発者エクスペリエンスの応答性を改良
  • 動的管理ビューの改良により、依存関係の分析とレポートが可能に
  • 階層と列を再利用して、Power BI のフィールド リスト内のより便利な場所に表示
  • 日付リレーションシップで、日付列に基づいて日付の次元へのリレーションシップを容易に作成できるように
  • DAX の強化により、DAX のアクセス性と機能が向上。これには、IN 演算子や table/row コンストラクターなどがあります。

今すぐ使ってみる

これらの機能は、SSDT で 1400 モデルを作成して Azure Analysis Services にデプロイするだけで使用を開始できます。最初のモデルを作成する方法については、こちらの記事 (英語) を参照してください。このブログでは Azure Analysis Services の最新情報をお伝えしますので、今後もぜひご注目ください。