Share via


データ ソース ビューの定義 (Analysis Services)

適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

データ ソース ビューには、多次元データベース オブジェクト (つまり、キューブ、ディメンション、マイニング構造) SQL Server Analysis Services使用されるスキーマの論理モデルが含まれています。 データ ソース ビューとは、XML 形式で格納されている、統合ディメンショナル モデル (UDM) とマイニング構造で使用されるこれらのスキーマ要素のメタデータ定義です。 データ ソース ビューには、次の特徴があります。

  • スキーマ生成に関するトップダウン アプローチに従う場合は、基になる 1 つ以上のデータ ソースから選択したオブジェクトを表すメタデータ、または基になるリレーショナル データ ソースの生成に使用されるメタデータを格納します。

  • 1 つ以上のデータ ソースに対して構築できるので、複数のソースからデータを統合する多次元オブジェクトやデータ マイニング オブジェクトを定義できます。

  • 基になるデータ ソースに存在せず、そのデータ ソースとは別に存在するリレーションシップ、主キー、オブジェクト名、計算列、およびクエリを含めることができます。

  • クライアント アプリケーションでは表示されず、クエリもできません。

DSV は、多次元モデルの必須コンポーネントです。 大部分の Analysis Services 開発者は、モデル設計の初期フェーズで DSV を作成し、基になるデータを提供する外部リレーショナル データベースに基づいて少なくとも 1 つの DSV を生成します。 ただし、後のフェーズで DSV を作成し、ディメンションとキューブを作成した後に、スキーマと基になるデータベース構造を生成することもできます。 この 2 番目のアプローチはトップダウン デザインと呼ばれることもあり、プロトタイプや分析モデルの作成によく使用されます。 このアプローチに従う場合は、スキーマ生成ウィザードを使用することによって、Analysis Services のプロジェクトまたはデータベースで定義されている OLAP オブジェクトに基づいて、基になるデータ ソース ビューとデータ ソース オブジェクトを作成します。 DSV の作成方法や作成時期にかかわりなく、すべてのモデルでは、処理開始前に少なくとも 1 つの DSV を用意する必要があります。

このトピックのセクションは次のとおりです。

データ ソース ビューの構成

データ ソース ビュー ウィザードを使用した DSV の作成

リレーションシップの名前一致条件の指定

セカンダリ データ ソースの追加

データ ソース ビューの構成

データ ソース ビューには、次の項目が含まれています。

  • 名前と説明

  • 次の項目を含む、スキーマ全体の範囲内の 1 つまたは複数のデータ ソースから取得したスキーマのサブセットの定義

    • テーブル名

    • 列名

    • データ型

    • NULL 値の許容

    • 列の長さ

    • 主キー

    • 主キーと外部キーのリレーションシップ

  • 次の項目を含む、基になるデータ ソースのスキーマの注釈

    • テーブル、ビュー、および列の表示名

    • 1 つまたは複数のデータ ソースの列 (スキーマ内のテーブルとして表示) を返す名前付きクエリ

    • データ ソースの列 (テーブルまたはビュー内の列として表示) を返す名前付き計算

    • 論理主キー (主キーが基になるテーブルに定義されていないか、ビューまたは名前付きクエリに含まれていない場合に必要)

    • テーブル、ビュー、および名前付きクエリ間の論理主キーと外部キーのリレーションシップ

データ ソース ビュー ウィザードを使用した DSV の作成

DSV を作成するには、SQL Server Data Toolsのソリューション エクスプローラーからデータ ソース ビュー ウィザードを実行します。

注意

代わりに、ディメンションとキューブを最初に構築し、その後にスキーマ生成ウィザードを使用してモデルに対応する DSV を生成することもできます。 詳細については、「 スキーマ生成ウィザード (Analysis Services)」を参照してください。

  1. ソリューション エクスプローラーで、[データ ソース ビュー] フォルダーを右クリックし、 [新しいデータ ソース ビュー]をクリックします。

  2. 外部リレーショナル データベースへの接続情報を提供する、新規または既存のデータ ソース オブジェクトを指定します (ウィザード内で選択できるデータ ソースは 1 つのみです)。

  3. 同じページで、 [詳細設定] をクリックして特定のスキーマを選択し、フィルターを適用するか、テーブルのリレーションシップ情報を除外します。

    スキーマの選択

    複数のスキーマを格納している非常に大規模なデータ ソースの場合は、スペースなしのコンマ区切りリストでどのスキーマを使用するかを選択できます。

    リレーションシップの取得

    [データ ソース ビューの詳細オプション] ダイアログ ボックス内の [リレーションシップを取得する] チェックボックスをオフにすると、テーブルのリレーションシップ情報を意図的に省略できます。その結果、データ ソース ビュー デザイナー内にある複数のテーブル間でリレーションシップを手動で作成できます。

  4. 使用できるオブジェクトのフィルター処理

    [使用できるオブジェクト] ボックスの一覧に非常に多くのオブジェクトが含まれている場合、選択条件として文字列を指定する単純なフィルターを適用して一覧を絞り込むことができます。 たとえば、「 dbo 」と入力し、 [フィルター] ボタンをクリックすると、"dbo" で始まる項目のみが [使用できるオブジェクト] ボックスの一覧に表示されます。 フィルターには部分的な文字列を指定できますが (たとえば、"sal" は売上と給与を返します)、複数の文字列や演算子を含めることはできません。

  5. テーブルのリレーションシップが設定されていないリレーショナル データ ソースの場合は、 [名前の一致] ページが表示され、名前を一致させる適切な方法を選択することができます。 詳細については、このトピックの「 リレーションシップの名前一致条件の指定 」セクションを参照してください。

セカンダリ データ ソースの追加

複数のデータ ソースに属するテーブル、ビュー、または列を含むデータ ソース ビューを定義するとき、データ ソース ビューに追加するオブジェクトの最初のデータ ソースはプライマリ データ ソースとして指定されます (定義後にプライマリ データ ソースを変更することはできません)。 1 つのデータ ソースのオブジェクトに基づいてデータ ソース ビューを定義した後に、他のデータ ソースのオブジェクトを追加することはできます。

OLAP 処理またはデータ マイニング クエリで、1 つのクエリに複数のデータ ソースのデータが必要な場合は、プライマリ データ ソースが OpenRowsetを使用したリモート クエリをサポートしている必要があります。 通常、これはSQL Serverデータ ソースになります。 たとえば、複数のデータ ソースの列にバインドされている属性を含む OLAP ディメンションを設計する場合、処理中にこのディメンションを設定する OpenRowset クエリが作成SQL Server Analysis Services。 ただし、OLAP オブジェクトを作成できるか、データ マイニング クエリが 1 つのデータ ソースから解決される場合、 OpenRowset クエリは作成されません。 特定の状況では、属性間の属性リレーションシップを定義して、 OpenRowset クエリを必要なくすることができます。 属性リレーションシップの詳細については、「 属性リレーションシップ」、「 データ ソース ビュー (Analysis Services) でのテーブルまたはビューの追加または削除 」および 「属性リレーションシップの定義」を参照してください。

セカンダリ データ ソースからテーブルおよび列を追加するには、ソリューション エクスプローラーで DSV をダブルクリックしてデータ ソース ビュー デザイナーで開いた後、[テーブルの追加と削除] ダイアログ ボックスを使用して、プロジェクトで定義した他のデータ ソースからオブジェクトを追加します。 詳細については、「 データ ソース ビュー (Analysis Services) でのテーブルまたはビューの追加または削除」を参照してください。

リレーションシップの名前一致条件の指定

DSV を作成すると、データ ソース内の外部キー制約に基づいて、テーブル間にリレーションシップが生成されます。 これらのリレーションシップは、SQL Server Analysis Services エンジンが適切な OLAP 処理クエリとデータ マイニング クエリを構築するために必要です。 ただし、複数のテーブルが含まれているデータ ソースには、外部キー制約がない場合があります。 データ ソースに外部キー制約がない場合は、異なるテーブルの列名を照合する方法を定義するように指示するプロンプトがデータ ソース ビュー ウィザードに表示されます。

注意

名前の一致条件は、基になるデータ ソース内で外部キー リレーションシップが検出されない場合のみ指定するように要求されます。 外部キー リレーションシップが検出された場合は、そのリレーションシップが使用されます。また、DSV に含める追加のリレーションシップ (論理主キーなど) を手動で定義する必要があります。 詳細については、「 データ ソース ビューでの論理リレーションシップの定義 (Analysis Services)」 および「 データ ソース ビューでの論理主キーの定義 (Analysis Services)」を参照してください。

データ ソース ビュー ウィザードは、ユーザーが指定した名前一致条件を使用して列名を一致させ、DSV 内のさまざまなテーブル間にリレーションシップを作成します。 次の表に示すいずれかの条件を指定できます。

名前一致条件 説明
[主キーと同一の名前] 基になるテーブルの外部キー列名は、対象になるテーブルの主キー列名と同じです。 たとえば、外部キー列 Order.CustomerID は、主キー列 Customer.CustomerIDと同じです。
[対象のテーブル名と同一の名前] 基になるテーブルの外部キー列名は、対象になるテーブルの名前と同じです。 たとえば、外部キー列 Order.Customer は、主キー列 Customer.CustomerIDと同じです。
一致先のテーブル名と主キー名の組み合わせ 基になるテーブルの外部キー列名は、対象になるテーブル名と主キー列名を連結したものと同じです。 区切り記号としてスペースまたはアンダースコアを使用できます。 たとえば、次の外部キーと主キーのペアはすべて一致します。

Order.CustomerID および Customer.ID

Order.Customer ID および Customer.ID

Order.Customer_ID および Customer.ID

選択した条件によって、DSV の NameMatchingCriteria プロパティの設定が変わります。 この設定によって、ウィザードによる関連テーブルの追加方法が決まります。 また、この設定では、データ ソース ビュー デザイナーを使用してデータ ソース ビューを変更するときに、列をどのように一致させて DSV のテーブル間にリレーションシップを作成するかも決定されます。 NameMatchingCriteria プロパティの設定は、データ ソース ビュー デザイナーで変更できます。 詳細については、「 データ ソース ビューのプロパティの変更 (Analysis Services)」を参照してください。

注意

データ ソース ビュー ウィザードを完了したら、データ ソース ビュー デザイナーのスキーマ ペインでリレーションシップを追加または削除できます。 詳細については、「 データ ソース ビューでの論理リレーションシップの定義 (Analysis Services)」を参照してください。

参照

データ ソース ビューでのテーブルまたはビューの追加または削除 (Analysis Services)
データ ソース ビューでの論理主キーの定義 (Analysis Services)
データ ソース ビューでの名前付き計算の定義 (Analysis Services)
データ ソース ビューでの名前付きクエリの定義 (Analysis Services)
データ ソース ビュー内のテーブルまたは名前付きクエリの置換 (Analysis Services)
データ ソース ビュー デザイナーでのダイアグラムの操作 (Analysis Services)
データ ソース ビューでのデータの検索 (Analysis Services)
データ ソース ビューの削除 (Analysis Services)
データ ソース ビューでのスキーマの更新 (Analysis Services)