建立採礦模型的篩選 (Analysis Services - 資料採礦)

以資料為基礎的模型篩選可協助您建立使用採礦結構中之資料子集的採礦模型。當您設計採礦結構和資料來源時,篩選可提供彈性,因為您可以根據完整的資料來源檢視來建立單一採礦結構。然後,您可以建立篩選來單獨使用其中一部分資料進行各種模型的定型和測試,而非針對每個資料子集建立不同的結構和相關模型。

例如,您可以針對 Customers 資料表和相關資料表定義資料來源檢視。接著,您可以定義包含所需之所有欄位的單一採礦結構。最後,您可以建立在特定客戶屬性 (例如 Region) 上篩選的模型。然後,您可以輕鬆地建立該模型的副本,並且單獨將篩選條件變更為根據不同的區域產生新的模型。

您可以從這項功能中獲益的某些真實生活狀況包括:

  • 針對離散值 (例如性別、區域等等) 建立不同的模型。例如,服飾店可能會使用客戶人口統計來依據性別建立不同的模型,即使銷售資料來自所有客戶的單一資料來源也一樣。

  • 建立並測試相同資料的多個群組 (例如 20-30 歲、20-40 歲與 20-25 歲的比較),藉以嘗試各種模型。

  • 針對巢狀資料表內容指定複雜的篩選,例如只有當客戶至少購買兩個特定項目時,才會在模型中加入案例。

本節將說明如何建立、使用和管理採礦模型的篩選。

建立模型篩選

您可以利用下列方式來建立和套用篩選:

  • 使用資料採礦設計師中的 [採礦模型] 索引標籤並搭配篩選編輯器對話方塊來建立條件。

  • 直接在採礦模型的 [篩選] 屬性中輸入篩選運算式。

  • 使用分析管理物件 (AMO),以程式設計方式設定模型的篩選條件。

使用資料採礦設計師來建立模型篩選

您可以變更採礦模型的 Filter 屬性,藉以在資料採礦設計師中篩選模型。您可以直接在 [屬性] 窗格中輸入篩選運算式,也可以開啟篩選對話方塊來建立條件。

目前提供了兩個篩選對話方塊。第一個對話方塊可讓您建立套用至案例資料表的條件。如果資料來源包含多份資料表,您首先要選取一份資料表,然後選取資料行並指定套用至該資料行的運算子與條件。您可以使用 AND/OR 運算子來連結多項條件。可用來定義值的運算子會因資料行包含離散值或連續值而不同。例如,如果包含連續值,您就可以使用 greater than 和 less than 運算子。不過,如果包含離散值,您就只能使用 = (equal to)、!= (not equal to) 和 is null 運算子。

[!附註]

不支援 LIKE 關鍵字。如果您想要加入多個離散屬性,就必須建立不同的條件,然後使用 OR 運算子來連結它們。

如果這些條件很複雜,您可以使用第二個篩選對話方塊來一次使用一份資料表。當您關閉第二個篩選對話方塊時,運算式會進行評估,然後與案例資料表中已設定於其他資料行的篩選條件結合。

建立巢狀資料表的篩選

如果資料來源檢視包含巢狀資料表,您就可以使用第二個篩選對話方塊,針對巢狀資料表中的資料列建立條件。

例如,如果您的案例資料表與客戶有關,而且巢狀資料表顯示某位客戶已經購買的產品,您就可以在巢狀資料表篩選中使用下列語法,藉以針對已經購買特定項目的客戶建立篩選:[ProductName]=’Water Bottle’ OR ProductName=’Water Bottle Cage'。

您也可以使用 EXISTS 或 NOT EXISTS 關鍵字和子查詢,藉以篩選巢狀資料表中是否存在特定值。這可讓您建立 EXISTS (SELECT * FROM Products WHERE ProductName=’Water Bottle’) 等條件。如果巢狀資料表至少有一個資料列包含 Water Bottle 值,EXISTS SELECT(<subquery>) 就會傳回 true。

您可以結合案例資料表的條件與巢狀資料表的條件。例如,下列語法包含案例資料表的條件 (Age > 30 )、巢狀資料表的子查詢 (EXISTS (SELECT * FROM Products)),以及巢狀資料表的多項條件 (WHERE ProductName=’Milk’ AND Quantity>2) )。

(Age > 30 AND EXISTS (SELECT * FROM Products WHERE ProductName=’Milk’  AND Quantity>2) )

當您建立篩選完成時,篩選文字就會由 Analysis Services 進行評估、轉譯成 DMX 運算式,然後與模型一起儲存。

如需有關如何在 Business Intelligence Development Studio 中使用篩選對話方塊的詳細指示,請參閱<如何:將篩選套用至採礦模型>。

管理採礦模型篩選

以資料為基礎的模型篩選會大幅簡化管理採礦結構和採礦模型的工作,因為您可以輕鬆地建立以相同結構為基礎的多個模型。您也可以快速地建立現有採礦模型的副本,然後單獨變更篩選條件。下面是管理模型篩選的一些考量:

  • 若要決定套用至模型的篩選,請檢視採礦模型的 Filter 屬性。

  • 您可以重新命名模型,以便反映篩選的內容。這可讓您更方便區分相關的模型。

  • 篩選運算式會儲存成指令碼,並且與相關聯的採礦模型或巢狀資料表一起儲存。如果您刪除了篩選文字,就只能手動重新建立篩選運算式,才能加以還原。因此,如果您建立複雜的篩選運算式,就應該建立篩選文字的備份副本。

  • 每當您變更或加入篩選運算式時,就必須重新處理結構和模型,然後才能檢視篩選的效果。

如需有關篩選語法的詳細資訊,以及篩選運算式的範例,請參閱<模型篩選語法和範例 (Analysis Services - 資料採礦)>。

如需有關在您測試採礦模型時如何使用模型篩選的詳細資訊,請參閱<測量採礦模型精確度 (Analysis Services - 資料採礦)>。