共用方式為


建立 OLAP 採礦結構

適用於: SQL Server 2019 和舊版 Analysis Services Azure Analysis Services Fabric/Power BI Premium

重要

SQL Server 2017 Analysis Services 中已淘汰數據採礦,現在已在 SQL Server 2022 Analysis Services 中停止。 檔不會更新為已淘汰和已停止的功能。 若要深入瞭解,請參閱 Analysis Services 回溯相容性

根據 OLAP Cube 或其他多維度數據存放區建立數據採礦模型有許多優點。 OLAP 解決方案已包含大量數據,這些數據已妥善組織、清理且格式正確;不過,數據的複雜性使得使用者不太可能透過臨機操作探索找到有意義的模式。 數據採礦可讓您探索新的相互關聯,並提供可採取動作的深入解析。

本主題描述如何根據現有多維度解決方案中的維度和相關量值,建立 OLAP 採礦結構。

需求

OLAP 數據採礦程式概觀

在 OLAP 解決方案中使用數據採礦的 案例

篩選條件

使用巢狀數據表

數據採礦維度

OLAP 採礦結構和模型的需求

如果您要設計 OLAP 採礦模型,您的數據源已存在於用來建置 Cube 的資料庫中。 您無法連線到遠端 Cube 並建置數據採礦物件;Cube 物件必須與您要建置的採礦結構位於與資料庫相同的解決方案內。

如果您沒有原始項目檔,或不想改變它們,您可以使用 Visual Studio 中的 選項,從伺服器匯入 (多維度或數據採礦),以取得元數據和方案對象的複本。 然後,您可以修改部署目標、編輯數據源,以及處理 Cube 物件,而不會影響現有的物件。

如需詳細資訊,請參閱 使用 Analysis Services 匯入精靈匯入數據採礦專案。

OLAP 數據採礦程式概觀

在 [方案總管] 中,以滑鼠右鍵按兩下 [採礦結構] 節點,然後選取 [[新增採礦結構],以啟動 [數據採礦精靈]。 精靈會引導您完成下列步驟,以建立新結構和模型的結構:

  1. 選取定義方法:在這裡選取數據源類型,然後選擇 [從現有的 Cube

    注意

    您作為來源使用的 OLAP Cube 必須存在於與採礦結構相同的資料庫中,如上所述。 此外,您無法使用 Power Pivot for Excel 載入宏所建立的 Cube 作為數據採礦的來源。

  2. 建立數據採礦結構:判斷您要只建置結構,還是使用採礦模型建置結構。

    您也必須選擇適當的演算法來分析您的資料。 如需演算法最適合特定工作的指引,請參閱 HYPERLINK “ms-help://SQL111033/as_1devconc/html/ed1fc83b-b98c-437e-bf53-4ff001b92d64.htm” 數據採礦演算法 (Analysis Services - 數據採礦)。

  3. 選取來源 Cube 維度:此步驟與選取數據源相同。 您必須選擇單一維度,其中包含用於定型模型的最重要數據。 您可以稍後從其他維度新增數據,或篩選維度。

  4. 選取案例索引鍵:在您剛選取的維度內,選擇屬性(數據行)作為案例數據的唯一標識符。

    一般而言,系統會為您預先選取數據行,但如果實際上有多個索引鍵,您可以變更數據行。

  5. 選取案例層級數據行:在這裡,您可以選擇所選維度的屬性,以及與您分析相關的相關量值。 此步驟相當於從數據表中選取數據行。

    精靈會自動包含檢閱和選取使用所選維度屬性所建立的任何量值。

    例如,如果您的 Cube 包含一個量值,其會根據客戶的地理位置計算貨運成本,而您選擇 Customer 維度做為模型化的主要數據源,則量值會建議為要新增至模型的候選專案。 請注意,新增太多已直接根據屬性的量值,因為數據行之間已經有一個隱含關聯性,如量值公式中所定義,而且此 (預期) 相互關聯性強度可能會遮蔽您可能探索的其他關聯性。

  6. 指定採礦模型資料行使用方式:針對您新增至 結構的每個屬性或量值,您必須指定屬性是否應該用於預測,或做為輸入。 如果您未選取其中一個選項,則會處理數據,但不會用於分析;不過,當您稍後啟用鑽研時,將會以背景數據的形式提供。

  7. 新增巢狀數據表:按兩下以新增相關的數據表。 在 [選取量值群組維度] 對話框中,您可以從與目前維度相關的維度中選擇單一維度。

    接下來,您可以使用 [選取巢狀數據表索引鍵] 對話框來定義新維度與包含案例數據之維度的關聯方式。

    使用 [選取巢狀數據表數據行] 對話框,從您要用於分析的新維度中選擇屬性和量值。 您也必須指定巢狀屬性是否將用於預測。

    在您新增所有可能需要的巢狀屬性之後,請返回頁面,[指定採礦模型數據行使用方式],然後按兩下 [下一步]

  8. 指定資料行內容和數據類型:此時,您已新增將用於分析的所有數據,而且必須為每個屬性指定 數據類型內容類型

    在 OLAP 模型中,您沒有自動偵測資料類型的選項,因為資料類型已經由多維度解決方案定義,因此無法變更。 也會自動識別索引鍵。 如需詳細資訊,請參閱 資料類型 (資料採礦)

    內容類型 您為模型中使用的每一個數據行選擇,會告知演算法應該如何處理數據。 如需詳細資訊,請參閱 內容類型(資料採礦)

  9. 分割來源 Cube:您可以在這裡定義 Cube 中的篩選,只選取數據子集,並定型更多目標模型。

    您可以選擇要篩選的維度來篩選 Cube,並選取包含您想要使用之準則的階層層級,然後輸入要作為篩選條件的條件。

  10. 建立測試集:在此頁面上,您可以告訴精靈應該保留多少數據以供測試模型使用。 如果您的數據支援多個模型,最好建立鑒效組數據集,讓所有模型都可以在相同的數據上進行測試。

    如需詳細資訊,請參閱 測試和驗證 (資料採礦)

  11. 完成精靈:在此頁面上,您會為新的採礦結構和相關聯的採礦模型命名,並儲存結構和模型。

    在這裡頁面上,您也可以設定下列選項:

    • 允許鑽研

    • 建立採礦模型維度

    • 使用採礦模型維度建立 Cube

    若要深入瞭解這些選項,請參閱本主題稍後的章節,了解數據採礦維度和鑽研

此時,採礦結構和其模型只是元數據;您必須處理這兩者以取得結果。

搭配 OLAP 數據使用數據採礦的案例

OLAP Cube 經常包含這麼多成員和維度,因此很難知道數據採礦的開頭。 為了協助識別 Cube 所包含的模式,您通常會識別感興趣的單一維度,然後開始探索與該維度相關的模式。 下表列出數個常見的 OLAP 數據採礦工作、描述您可以套用每個工作的範例案例,並識別要用於每個工作的數據採礦演算法。

任務 範例案例 演算法
將成員分組到叢集 根據客戶成員屬性、客戶購買的產品,以及客戶花費的金額來分割客戶維度。 Microsoft叢集演算法
尋找有趣或異常的成員 根據銷售、利潤、商店位置和商店大小,識別商店維度中的有趣或異常商店。 Microsoft判定樹演算法
尋找有趣或異常的單元格 識別一段時間內違反一般趨勢的商店銷售。 Microsoft時間序列演算法
尋找相互關聯 識別與伺服器停機相關的因素,包括區域、計算機類型、OS 或購買日期。 Microsoft貝氏機率分類演算法

切割 Cube 與篩選模型

在建置模型時切割 Cube 就像是在關係型採礦模型上建立篩選。 在關係型模型中,數據源上的篩選會定義為 SQL 語句上的 WHERE 子句;在 Cube 中,您會使用編輯器來使用 MDX 建立篩選語句。

例如,Cube 可能包含全球產品購買的相關信息,但針對您的營銷活動,您想要根據居住在英國的 30 多名女性客戶進行分析來建立模型。

在此案例中,您會建立兩個篩選:

  • 針對第一個篩選,您可以選擇 [地理位置] 維度,選擇 [區域] 的階層,然後使用 [篩選表達式] 清單,從可能的值中選擇 [英國]。

  • 針對第二個篩選條件,您可以選擇 [客戶] 維度、選取 [性別] 屬性,然後從屬性值清單中選取 [女性]。

建立採礦結構之後,您可以修改 Cube 數據和篩選準則的定義。 如需詳細資訊,請參閱 採礦模型的篩選

採礦結構 索引標籤和 [採礦模型] 索引標籤都提供選項,以將篩選新增至現有的採礦結構,方法是單擊 [定義 Cube 配量]。 [配量 Cube] 對話框可藉由從下拉式清單中選擇值,協助您建置有效的 MDX 篩選表達式。

警告

請注意,SQL Server 2017 中已變更設計及流覽 Cube 的介面。 如需詳細資訊,請參閱 在 Cube 中瀏覽資料和元資料

您可以在 Cube 上新增所需數量的篩選,以傳回採礦模型所需的數據。 您也可以在個別 Cube 配量上定義配量。 例如,如果您的結構包含兩個以產品為基礎的巢狀數據表,您可以在 2004 年 3 月配量一個數據表,並在 2004 年 4 月對另一個數據表進行配量。 然後,產生的模型可用來根據 3 月所進行的購買,預測在 4 月進行的購買。

在 OLAP 採礦模型中使用巢狀數據表

當您使用數據採礦精靈根據 Cube 資料建置模型時,您可以指定相關維度的名稱,然後選擇要加入至模型的屬性或量值,以新增巢狀數據表

例如,如果用於案例數據的主要維度是 Customer,您可能會將 新增為 Products 維度的相關維度,因為您預期客戶可能會隨著時間排序多個產品,而 Cube 已透過訂單事實數據表將每個客戶連結到許多產品。

您可以在精靈的 [指定採礦模型數據行使用方式] 頁面中新增巢狀數據表,方法是按兩下 [新增巢狀數據表]。 隨即開啟對話框,引導您完成選擇相關維度的程式,以及任何量值。 大小寫和巢狀維度必須與外鍵相關,而且量值必須使用案例或巢狀數據表中包含的其中一個屬性。 不幸的是,這些限制實際上並沒有太大的縮小範圍,因此您必須小心只選取那些對模型有用的屬性。

針對您新增至巢狀數據表的每個屬性或量值,您必須選取 [選取巢狀數據表數據行] 對話方塊中的 [可預測輸入 ,以指定巢狀屬性是否會用於預測。 如果您未選取其中一個選項,數據將會新增至採礦結構,但不會用於分析。

針對每個屬性和量值,您也必須指定屬性是離散、離散化還是連續。 精靈會根據 屬性的數據類型預先選取預設值,但您可能需要根據演算法需求變更這些預設值。 如果您選擇與所選演算法不相容的內容類型(例如,您以貝氏機率分類模型使用連續數值類型),則在您嘗試處理模型之前不會收到錯誤訊息。

當您完成設定這些選項時,精靈會將巢狀數據表新增至案例數據表。 巢狀數據表的預設名稱是巢狀維度名稱,但您可以重新命名巢狀數據表及其數據行。 您可以重複此程式,將多個巢狀數據表新增至採礦結構。

使用這類巢狀數據表數據的能力是 SQL Server 數據採礦特別強大的功能,而且在 Cube 中,使用相關數據子集的可能性幾乎是無限的。

了解數據採礦維度和鑽研

選項 [允許鑽研],可讓您在流覽模型時對基礎 Cube 數據執行查詢。 數據未包含在新的數據採礦維度中,但 SQL Server Analysis Services 資料庫可以使用數據系結從來源 Cube 擷取資訊。

選項 建立採礦模型維度,可讓您在現有的 Cube 中產生新的維度,其中包含演算法探索到的模式。 新維度內的階層主要取決於模型類型。 例如,群集模型的表示法相當平整,階層頂端的 (All) 節點和下一個層級中的每個叢集。 相反地,針對判定樹模型建立的維度可能會有非常深的階層,代表樹狀結構的分支。

選項 使用採礦模型維度建立 cube,可讓您將新的數據採礦維度導出至新的 Cube。 數據採礦維度上鑽研所需的任何物件都會自動包含。

警告

只有這些模型類型支援建立數據採礦維度:以Microsoft群集演算法、Microsoft判定樹演算法或Microsoft關聯演算法為基礎的模型。

另請參閱

數據採礦演算法 (Analysis Services - 數據採礦)
採礦結構數據行
採礦模型數據行
採礦模型屬性
採礦結構和結構數據行的 屬性