データ ソース ビューでの名前付き計算の定義 (Analysis Services)
名前付き計算は、計算される列として表現されている SQL 式です。この式は、テーブル内の列として表示され動作します。名前付き計算を使用すると、基になるデータ ソースのテーブルやビューを変更しなくても、データ ソース ビュー内の既存のテーブルまたはビューのリレーショナル スキーマを拡張できます。たとえば、ファクト テーブルの列から取得された共通の計算値は、基になるデータベース テーブルを変更または基になるデータベース テーブルのビューを作成するのではなく、データ ソース ビューの 1 つの名前付き計算として表現できます。名前付き計算を、データ ソース ビューに基づいて各キューブで計算されたメンバの代わりに使用することもできます。名前付き計算は処理中に計算されますが、計算されるメンバはクエリ時に計算されます。
また、名前付き計算は、ディメンション メンバ用にわかりやすい名前を作成するために頻繁に使用されます。
注意 |
---|
名前付き計算を名前付きクエリに追加したり、名前付き計算を含んでいるテーブルに基づいて名前付きクエリを作成したりすることはできません。 |
名前付き計算の作成
名前付き計算を作成するには、名前と SQL 式を指定し、必要に応じて計算の説明も指定します。SQL 式は、データ ソース ビュー内の他のテーブルを参照できます。名前付き計算を定義すると、名前付き計算の式がデータ ソースのプロバイダに送信され、次の SQL ステートメントとして検証されます。ここで、<Expression> には、名前付き計算を定義する式が含まれます。
SELECT
<Table Name in Data Source>.*,
<Expression> AS <Column Name>
FROM
<Table Name in Data Source> AS <Table Name in Data Source View>
列のデータ型は、式によって返されたスカラ値のデータ型によって決まります。プロバイダによって式でエラーが検出されなければ、列がテーブルに追加されます。
式で参照される列は、修飾する必要がないか、テーブル名によってのみ修飾する必要があります。たとえば、テーブルの SaleAmount 列を参照するには、SaleAmount または Sales.SaleAmount は有効ですが、dbo.Sales.SaleAmount ではエラーが発生します。
式は、自動的にはかっこで囲まれません。このため、SELECT ステートメントなどの式で、かっこが必要な場合は、[式] ボックスでかっこを入力する必要があります。たとえば、次の式は、かっこを入力した場合にのみ有効です。
(SELECT Description FROM Categories WHERE Categories.CategoryID = CategoryID)
名前付き計算の削除
名前付き計算を削除しようとすると、削除するかどうかを確認するメッセージが、削除によって無効になるプロジェクトまたはデータベースに定義されているオブジェクトのリストと共に表示されます。
名前付き計算を定義、編集、表示、削除する方法
名前付き計算を定義、編集、表示、または削除する方法については、「データ ソース ビュー デザイナを使用してテーブルで名前付き計算を追加、表示、変更、または削除する方法 (Analysis Services)」を参照してください。