在資料來源檢視中定義具名計算 (Analysis Services)

具名計算是以導出資料行表示的 SQL 運算式。此運算式的顯示和行為如同資料表中的資料行一樣。具名計算可讓您在資料來源檢視中擴充現有資料表或檢視的關聯式結構描述,而不必修改基礎資料來源中的資料表或檢視。例如,衍生自事實資料表之資料行的一般導出值,可以表示為資料來源檢視中的單一具名計算,而不必修改基礎資料庫資料表或在基礎資料庫中建立檢視。具名計算也可用來根據此資料來源檢視而取代每一個 Cube 中的導出成員;具名計算是在處理期間所計算,而導出成員則是在查詢時所計算。

具名計算也經常會用來建構維度成員的使用者易記名稱。

[!附註]

您無法將具名計算加入具名查詢中,也不可以用包含具名計算的資料表做為具名查詢的基礎。

建立具名計算

當您建立具名計算時,要指定名稱、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)>。