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 |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應