第 4 課:使用 DMX 建立時間序列預測

在這一課和下一課中,您將會使用資料採礦延伸模組 (DMX),根據您在<第 1 課:建立時間序列採礦模型和採礦結構>和<第 2 課:將採礦模型加入時間序列採礦結構中>中建立的時間序列模型來建立不同類型的預測。

有了時間序列模型,您有許多選擇可用來進行預測:

  • 在採礦模型中使用現有的模式和資料。

  • 在採礦模型中使用現有的模式,但是提供新的資料。

  • 將新的資料加入到模型中,或是更新模型。

這些預測類型的語法摘要列在底下:

課程工作

您將在這一課執行下列工作:

  • 根據現有的資料建立查詢來取得預設的預測。

在下一課中,您將會執行下列相關工作:

  • 建立查詢來提供新的資料,並取得更新的預測。

除了使用 DMX 手動建立查詢以外,您也可以在 Business Intelligence Development Studio 中使用預測查詢產生器來建立預測。如需詳細資訊,請參閱<使用預測查詢產生器來建立 DMX 預測查詢>或<採礦模型預測索引標籤:如何主題>。

簡單時間序列預測查詢

第一個步驟是搭配 PredictTimeSeries 函數一起使用 SELECT FROM 陳述式來建立時間序列預測。時間序列模型支援用來建立預測的簡化語法:您不需要提供任何輸入,只需要指定所要建立的預測數。以下是您將使用之陳述式的一般範例:

SELECT <select list> 
FROM [<mining model name>] 
WHERE [<criteria>]

SELECT 清單可包含模型中的資料行,例如您要建立預測或預測函數 (像是專門用於時間序列採礦模型的 Lag (DMX)PredictTimeSeries (DMX)) 的產品線名稱。

若要建立簡單的時間序列預測查詢

  1. [物件總管] 中,以滑鼠右鍵按一下 Analysis Services 的執行個體、指向 [新增查詢],然後按一下 [DMX]

    此時會開啟 [查詢編輯器] 且包含新的空白查詢。

  2. 將此陳述式的一般範例複製到空白查詢中。

  3. 取代下列項目:

    <select list> 
    

    成為:

    [Forecasting_MIXED].[ModelRegion],
    PredictTimeSeries([Forecasting_MIXED].[Quantity],6) AS PredictQty,
    PredictTimeSeries ([Forecasting_MIXED].[Amount],6) AS PredictAmt
    

    第一行會從可識別此數列的採礦模型中擷取值。

    第二行和第三行會使用 PredictTimeSeries 函數。每一行都會預測不同的屬性 ([Quantity] 或 [Amount])。可預測屬性名稱後面的數字會指定所要預測的時間步驟數。

    AS 子句是用來針對每一個預測函數傳回的資料行提供一個名稱。如果您不提供別名,則當傳回這兩個資料行時,預設都會將其加上 Expression 標籤。

  4. 取代下列項目:

    [<mining model>] 
    

    成為:

    [Forecasting_MIXED]
    
  5. 取代下列項目:

    WHERE [criteria>] 
    

    成為:

    WHERE [ModelRegion] = 'M200 Europe' OR
    [ModelRegion] = 'M200 Pacific'
    

    現在,完整的陳述式應該如下所示:

    SELECT
    [Forecasting_MIXED].[ModelRegion],
    PredictTimeSeries([Forecasting_MIXED].[Quantity],6) AS PredictQty,
    PredictTimeSeries ([Forecasting_MIXED].[Amount],6) AS PredictAmt
    FROM 
    [Forecasting_MIXED]
    WHERE [ModelRegion] = 'M200 Europe' OR
    [ModelRegion] = 'M200 Pacific'
    
  6. 按一下 [檔案] 功能表上的 [將 DMXQuery1.dmx 另存為]

  7. [另存新檔] 對話方塊中,瀏覽至適當的資料夾,並將檔案命名為 SimpleTimeSeriesPrediction.dmx。

  8. 在工具列上按一下 [執行] 按鈕。

    此查詢會針對 WHERE 子句中指定之產品和區域的兩個組合,每個組合各傳回 6 個預測。

在下一課中,您將會建立查詢來提供新資料給模型,然後將該項預測的結果與您剛才建立的預測做比較。

本課程的下一項工作

第 5 課:擴充時間序列模型