共用方式為


SELECT FROM <model>。內容 (DMX)

適用於: SQL Server Analysis Services

傳回指定之數據採礦模型的採礦模型架構數據列集。

語法

  
SELECT [FLATTENED] [TOP <n>] <expression list> FROM <model>.CONTENT   
[WHERE <condition expression>]  
[ORDER BY <expression> [DESC|ASC]]  

引數

n
選擇性。 整數,指定要傳回的數據列數目。

表達式清單
衍生自內容架構數據列集的數據行逗號分隔清單。

model
模型標識碼。

條件表達式
選擇性。 限制從數據行清單傳回之值的條件。

expression
選擇性。 傳回純量值的運算式。

備註

SELECT FROM< 模型。>CONTENT 語句會傳回每個演算法特有的內容。 例如,您可能想要在自訂應用程式中使用關聯規則模型之所有規則的描述。 您可以使用 SELECT FROM <模型>。CONTENT 語句,傳回模型NODE_RULE數據行中的值。

下表列出採礦模型內容中包含的數據行。

注意

演算法可能會以不同的方式解譯數據行,以正確表示內容。 如需每個演算法之採礦模型內容的描述,以及如何解譯和查詢每個模型類型的採礦模型內容的秘訣,請參閱採礦模型內容(Analysis Services - 數據採礦)。

CONTENT 資料列集數據行 描述
MODEL_CATALOG 目錄名稱。 如果提供者不支援目錄,則為 NULL。
MODEL_SCHEMA 不合格的架構名稱。 如果提供者不支持架構,則為 NULL。
MODEL_NAME 模型名稱。 此資料行不能包含 NULL。
ATTRIBUTE_NAME 對應至節點的屬性名稱。
NODE_NAME 節點的名稱。
NODE_UNIQUE_NAME 模型內節點的唯一名稱。
NODE_TYPE 整數,表示節點的類型。 .
NODE_GUID 節點 GUID。 如果沒有 GUID,則為 NULL。
NODE_CAPTION 與節點相關聯的標籤或標題。 主要用於顯示用途。 如果標題不存在,則會傳回NODE_NAME。
CHILDREN_CARDINALITY 節點擁有的子係數目。
PARENT_UNIQUE_NAME 節點父代的唯一名稱。
NODE_DESCRIPTION 節點的描述。
NODE_RULE XML 片段,表示內嵌在節點中的規則。 XML 字串的格式是以 PMML 標準為基礎。
MARGINAL_RULE XML 片段,描述從父節點到節點的路徑。
NODE_PROBABILITY 以節點結尾之路徑的機率。
MARGINAL_PROBABILITY 從父節點到達節點的機率。
NODE_DISTRIBUTION 數據表,其中包含描述節點中值分佈的統計數據。
NODE_SUPPORT 支援此節點的案例數目。

範例

下列程式代碼會針對新增至 Targeted Mailing 採礦結構的判定樹模型,傳回父節點的標識符。

SELECT MODEL_NAME, NODE_NAME FROM [TM Decision Tree].CONTENT  
WHERE NODE_TYPE = 1  

預期的結果:

MODEL_NAME NODE_NAME
TM_DecisionTree 0

下列查詢會使用 IsDescendant 函式傳回上一個查詢中所傳回之節點的立即子系。

注意

因為NODE_NAME的值是字串,所以您無法使用子 select 語句,將NODE_ID當做 IsDescendant 函式的自變數傳回。

SELECT NODE_NAME, NODETYPE, NODE_CAPTION   
FROM [TM Decision Tree].CONTENT  
WHERE ISDESCENDANT('0')  

預期的結果:

因為模型是判定樹模型,因此模型父節點的子系包含單一臨界統計數據節點、代表可預測屬性的節點,以及包含輸入屬性和值的多個節點。 如需詳細資訊,請參閱判定樹模型的採礦模型內容(Analysis Services - 數據採礦)。

使用 FLATTENED 關鍵詞

採礦模型內容經常包含巢狀數據表數據行中模型的相關有趣資訊。 FLATTENED 關鍵詞可讓您從巢狀數據表數據行擷取數據,而不使用支援階層式數據列集的提供者。

下列查詢會從貝氏機率分類模型傳回單一節點、臨界統計數據節點 (NODE_TYPE = 26)。 不過,此節點會在NODE_DISTRIBUTION數據行中包含巢狀數據表。 因此,巢狀數據表數據行會扁平化,而且巢狀數據表中的每個數據列都會傳回一個數據列。 巢狀數據表中每個數據列都會重複純量數據行的值MODEL_NAME。

此外,請注意,如果您只指定巢狀數據表數據行的名稱,則會針對巢狀數據表中的每個數據行傳回新的數據行。 根據預設,巢狀數據表的名稱會加上每個巢狀數據表數據行的名稱。

SELECT FLATTENED MODEL_NAME, NODE_DISTRIBUTION  
FROM [TM_NaiveBayes].CONTENT  
WHERE NODE_TYPE = 26  

範例結果︰

MODEL_NAME NODE_DISTRIBUTION。ATTRIBUTE_NAME NODE_DISTRIBUTION。ATTRIBUTE_VALUE NODE_DISTRIBUTION。支援 NODE_DISTRIBUTION。概率 NODE_DISTRIBUTION。方差 NODE_DISTRIBUTION。VALUETYPE
TM_NaiveBayes Bike Buyer 失蹤 0 0 0 1
TM_NaiveBayes Bike Buyer 0 6556 0.506685215240745 0
TM_NaiveBayes Bike Buyer 1 6383 0.493314784759255 0

下列範例示範如何使用子選取語句,只從巢狀數據表傳回部分數據行。 您可以藉由將巢狀數據表的數據表名稱別名化來簡化顯示,如下所示。

SELECT MODEL_NAME,   
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, [SUPPORT] AS t  
FROM NODE_DISTRIBUTION)   
FROM TM_NaiveBayes.CONTENT  
WHERE NODE_TYPE = 26  

範例結果︰

MODEL_NAME t.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE t.SUPPORT
TM_NaiveBayes Bike Buyer 失蹤 0
TM_NaiveBayes Bike Buyer 0 6556
TM_NaiveBayes Bike Buyer 1 6383

另請參閱

SELECT (DMX)
數據採礦延伸模組 (DMX) 數據操作語句
資料採礦延伸模組 (DMX) 陳述式參考