建立時間序列預測 (中繼資料採礦教學課程)

 

適用於: SQL Server 2016 Preview

在本課之前的工作中,您已經建立一個時間序列模型並瀏覽結果。 根據預設,Analysis Services 一定會建立一組五個的時間數列模型預測,並將預測值顯示為預測圖表的一部分。 但是,您也可以建立資料採礦延伸模組 (DMX) 預測查詢來建立預測。

在此工作中,您將會建立預測查詢,此查詢會產生與您在檢視器中所見相同的預測。 此工作假設您已經完成「基本資料採礦教學課程」中的課程,而且很熟悉如何使用預測查詢產生器。 您現在將要學習如何建立時間序列模型特有的查詢。

建立時間序列預測

一般來說,建立預測查詢的第一個步驟是選取採礦模型和輸入資料表。 但是,時間序列模型不需要額外輸入,也能夠進行一般預測。 因此,當您做預測時,不需要指定新的資料來源,除非您要在模型中加入資料或是取代資料。

在這一課中,您必須指定預測步驟的數目。 您可以指定數列名稱,以取得產品和地區之特定組合的預測。

若要選取模型和輸入資料表

  1. 在 採礦模型預測 資料採礦設計工具索引標籤,請在 採礦模型 方塊中,按一下 選取模型。

  2. 在 選取採礦模型 對話方塊方塊中,展開預測結構中,選取 預測 從清單中,模型,然後按一下 確定。

  3. 忽略 選取輸入資料表 方塊。

    注意


    如果是時間序列模型,您不需要指定個別輸入,除非您要執行交叉預測。

  4. 在 來源 上方格中的資料行, 採礦模型預測 ] 索引標籤上,按一下第一個空白列中的資料格,然後選取 預測採礦模型。

  5. 在 欄位 欄中,選取 Model Region。

    這個動作會將數列識別碼加入到預測查詢中,以表示此預測會套用到哪一個模型和地區組合。

  6. 按一下 [下一步的空白資料列中 來源 資料行,然後選取 預測函數。

  7. 在 欄位 欄中,選取 PredictTimeSeries。

    注意


    您也可以使用 預測 搭配時間序列模型的函式。 但是根據預設,Predict 函數只會針對每一個數列各建立一項預測。 因此,若要指定多個預測步驟,您必須使用 PredictTimeSeries 函式。

  8. 在 採礦模型 ] 窗格中,選取採礦模型資料行, 量。 將 Amount 拖曳到 準則/引數 方塊 PredictTimeSeries 您先前加入的函式。

  9. 按一下 [ 準則/引數 方塊,然後輸入逗號,後面接著 5, ,欄位名稱之後。

    中的文字 準則/引數 方塊現在應該顯示如下︰

    [Forecasting].[Amount],5

  10. 在 別名 資料行中輸入 PredictAmount。

  11. 按一下 [下一步的空白資料列中 來源 資料行,然後選取 預測函數 一次。

  12. 在 欄位 欄中,選取 PredictTimeSeries。

  13. 在 採礦模型 ] 窗格中,選取資料行數量,並將它拖曳到 準則/引數 第二個方塊 PredictTimeSeries 函式。

  14. 按一下 [ 準則/引數 方塊,然後輸入逗號,後面接著 5, ,欄位名稱之後。

    中的文字 準則/引數 方塊現在應該顯示如下︰

    [Forecasting].[ Quantity],5

  15. 在 別名 資料行中輸入 PredictQuantity。

  16. 按一下 [ 切換到查詢結果檢視。

    查詢的結果會以表格格式顯示。

請記得,您已經在查詢產生器中建立三種不同類型的結果,其中一種是使用資料行內的值,另外兩種會從預測函數取得預測值。 因此,查詢的結果包含三個不同的資料行。 第一個資料行包含產品和地區組合的清單。 第二和第三個資料行各包含預測結果的巢狀資料表, 每一個巢狀資料表都包含時間步驟和預測值,如下表所示:

ModelRegion M200 Europe

範例結果 (金額截斷為兩個小數位數):

  • PredictAmount

    $TIME Amount
    7/25/2008 99978.00
    8/25/2008 145575.07
    9/25/2008 116835.19
    10/25/2008 116537.38
    11/25/2008 107760.55
  • PredictQuantity

    $TIME Quantity
    7/25/2008 52
    8/25/2008 67
    9/25/2008 58
    10/25/2008 57
    11/25/2008 54

ModelRegion M200 North America

  • PredictAmount

    $TIME Amount
    7/25/2008 348533.93
    8/25/2008 340097.98
    9/25/2008 257986.19
    10/25/2008 374658.24
    11/25/2008 379241.44
  • PredictQuantity

    $TIME Quantity
    7/25/2008 272
    8/25/2008 152
    9/25/2008 250
    10/25/2008 181
    11/25/2008 290

警告


範例資料庫中使用的日期已在此版本中變更。 如果您使用的是舊版的範例資料,可能會看到不同的結果。

儲存預測結果

您有數個選項可以使用此預測結果。 可以將結果扁平化,並從 [結果] 檢視複製資料,然後貼到 Excel 工作表或其他檔案中。

為了簡化儲存結果的程序,資料採礦設計師也提供將資料儲存至資料來源檢視的能力。 將結果儲存至資料來源檢視的功能只能在 SQL Server Data Tools (SSDT) 中使用。 結果只能使用扁平化的格式儲存。

若要在結果窗格中扁平化結果

  1. 在預測查詢產生器中,按一下 [ 切換到查詢設計檢視。

    此檢視會變更,好讓您手動編輯 DMX 查詢文字。

  2. 型別 FLATTENED 關鍵字之後 選取 關鍵字。 完整查詢文字應該如下所示:

    SELECT FLATTENED  
      [Forecasting].[Model Region],  
      (PredictTimeSeries([Forecasting].[Amount],5)) as [PredictAmount],  
      (PredictTimeSeries([Forecasting].[Quantity],5)) as [PredictQuantity]  
    FROM  
      [Forecasting]  
    
  3. 或者,您可以輸入一子句以限制結果,例如以下範例:

    SELECT FLATTENED  
      [Forecasting].[Model Region],  
      (PredictTimeSeries([Forecasting].[Amount],5)) as [PredictAmount],  
      (PredictTimeSeries([Forecasting].[Quantity],5)) as [PredictQuantity]  
    FROM  
      [Forecasting]  
    WHERE [Forecasting].[Model Region] = 'M200 North America'   
    OR [Forecasting].[Model Region] = 'M200 Europe'  
    
  4. 按一下 [ 切換到查詢結果檢視。

若要匯出預測查詢結果

  1. 按一下 [ 儲存查詢結果。

  2. 在 儲存資料採礦查詢結果 對話方塊中,如 資料來源, ,請選取 AdventureWorksDW2012。 如果您想要將資料儲存到不同的關聯式資料庫,您也可以建立資料來源。

  3. 在 資料表名稱 資料行中輸入新的暫存資料表名稱,例如 Test Predictions。

  4. 按一下 [儲存]。

    注意


    若要檢視您所建立的資料表,請建立與您儲存資料之執行個體的資料庫引擎之間的連接,並建立查詢。

結論

您已經學會如何建立基本的時間序列模型,解譯預測,以及建立預測。

本教學課程中的剩餘工作是選擇性的,描述進階時間序列預測。 如果您決定要繼續,您將學習如何將新資料加入至模型,以及在擴充數列上建立預測。 您也將會學習如何使用模型中的趨勢,但以新的資料數列取代資料,藉此執行交叉預測。

下一課

進階時間序列預測 #40; 中繼資料採礦教學課程 )

另請參閱

時間序列模型查詢範例