Share via


使用 Analysis Services DMX 查詢設計工具 (Reporting Services)

當您使用SQL ServerAnalysis Services 資料來源建立資料集時,報表設計師會在偵測到有效的 Cube 時顯示多維度運算式 (MDX) 查詢設計工具。如果未偵測到任何 Cube,但是有提供資料採礦模型,報表設計師會顯示資料採礦延伸模組 (DMX) 查詢設計工具。若要在 MDX 與 DMX 設計工具之間切換,請按一下工具列上的 [命令類型 DMX] (變更為 DMX 查詢語言檢視) 按鈕。使用 DMX 查詢設計工具,透過圖形元素以互動方式建立 DMX 查詢。若要使用 DMX 查詢設計工具,您指定的資料來源必須已經具有提供資料的資料採礦模型。查詢結果會轉換成扁平化的資料列集,以提供報表使用。

[!附註]

設計報表之前,您必須先培訓模型。如需詳細資訊,請參閱<資料採礦專案 (Analysis Services - 資料採礦)>。

設計模式

DMX 查詢設計工具會在設計模式中開啟。設計模式包含一個用來選取單一資料採礦模型和輸入資料表的圖形設計介面,以及一個用來指定預測查詢的方格。DMX 查詢設計工具中有另外兩種模式:查詢模式和結果模式。在查詢模式中,會以 [查詢] 窗格取代設計模式中的方格,您可以利用這個窗格來輸入 DMX 查詢。在 [結果] 模式中,查詢傳回的結果集會出現在資料方格中。

若要變更 DMX 查詢設計工具的模式,請以滑鼠右鍵按一下查詢設計介面,然後選取 [設計][查詢][結果]。如需詳細資訊,請參閱<Analysis Services DMX 查詢設計工具使用者介面>和<如何:從資料採礦模型擷取資料 (DMX)>。

設計預測查詢

設計模式的 [查詢設計] 窗格包含兩個視窗:[採礦模型][選取輸入資料表]。使用 [採礦模型] 視窗,即可選取要在查詢中使用的採礦模型。使用 [選取輸入資料表] 視窗,即可選取要做為預測基礎的資料表。如果不想使用輸入資料表,而要改用單一查詢,請以滑鼠右鍵按一下 [查詢設計] 窗格,然後選取 [單一查詢]。就會將 [選取輸入資料表] 視窗取代成 [單一查詢輸入] 視窗。

在設計模式中,將 [採礦模型][選取輸入資料表] 視窗中的欄位拖曳至 [方格] 窗格中的 [欄位] 資料行。您也可以填入其餘資料行,以便指定別名、在結果中顯示欄位、將欄位群組在一起,以及指定運算子來將欄位值限制為給定的準則或引數。如果您在 [查詢] 模式中,請將欄位拖曳到 [查詢] 窗格來建立 DMX 查詢。

如需有關使用 DMX 查詢設計工具建立 DMX 預測查詢的詳細資訊,請參閱<使用預測查詢產生器來建立 DMX 預測查詢>。

下列範例說明如何使用 DMX 查詢設計工具來建立報表資料集。

範例:從資料採礦模型擷取資料

Reporting Services 範例包含一個專案,此專案會根據 SQL Server 範例資料庫 AdventureWorksDW 來部署兩個採礦模型。如需詳細資訊,請參閱<Reporting Services 範例>。

  1. 安裝後發行 AdventureWorks 範例報表,接著部署 Analysis Services Cube。如需詳細資訊,請參閱<Reporting Services 範例>。

  2. 開啟 AdventureWorks 範例報表專案,然後將空的報表定義 (.rdl) 檔案加入該專案中。

  3. 利用 AdventureWorksAS 共用資料來源建立新資料集。在 [資料集屬性] 對話方塊中,按一下 [查詢設計工具]。MDX Analysis Services 查詢設計工具會在 [設計] 模式中開啟。

  4. 按一下工具列上的 [命令類型 DMX] (變更為 DMX 查詢語言檢視) 按鈕。

  5. 按一下 [是] 以切換到 DMX 查詢設計工具。

  6. 按一下 [選取模型]、展開 [Targeted Mailing],然後選擇 [TM Decision Tree]。按一下 [確定]。

  7. 按一下 [選取案例資料表],然後捲動至 vTargetMail (dbo) 並選取它。按一下 [確定]。

  8. 按一下 [方格] 窗格中的 [來源],然後選取 [TM Decision Tree 採礦模型]。這時 Bike Buyer 會出現在 [欄位] 資料行中。

  9. 按一下下一行中的 [來源],然後選取 [vTargetMail 資料表]。這時 CustomerKey 會出現在 [欄位] 資料行中。

  10. 以滑鼠右鍵按一下 [查詢設計] 窗格,然後選取 [結果] 來檢視結果集。結果檢視中會出現一個包含 18484 個資料列的結果集。若要切換回設計模式,請以滑鼠右鍵按一下 [結果] 窗格,並選取 [設計]

使用參數

您可以將報表參數傳遞至 DMX 查詢參數。若要這樣做,您必須將參數加入您的 DMX 查詢中,在 [查詢參數] 對話方塊中定義查詢參數,然後修改相關聯的報表參數。若要定義查詢參數,請按一下工具列上的 [查詢參數] ([查詢參數] 對話方塊圖示) 按鈕。若要檢視有關定義 DMX 查詢中參數的指示,請參閱<如何:在 Analysis Services 的 MDX 查詢設計工具中定義參數>。

如需有關如何管理報表參數與查詢參數之間關聯性的詳細資訊,請參閱<如何:將查詢參數與報表參數產生關聯>。如需有關參數的詳細資訊,請參閱<將參數加入至您的報表>。

使用參數查詢的範例

下列查詢擷取的報表資料會指出最可能購買自行車的客戶有哪些,以及他們購買的機率。

SELECT
  t.FirstName, t.LastName,
  (Predict ([Bike Buyer])) as [PredictedValue],
  (PredictProbability([Bike Buyer])) as [Probability]
From
  [TM Decision Tree]
PREDICTION JOIN
  OPENQUERY([Adventure Works DW],
    'SELECT
      [FirstName],
      [LastName],
      [CustomerKey],
      [MaritalStatus],
      [Gender],
      [YearlyIncome],
      [TotalChildren],
      [NumberChildrenAtHome],
      [HouseOwnerFlag],
      [NumberCarsOwned],
      [CommuteDistance]
    FROM
      [dbo].[DimCustomer]
    ') AS t
ON
  [TM Decision Tree].[Marital Status] = t.[MaritalStatus] AND
  [TM Decision Tree].[Gender] = t.[Gender] AND
  [TM Decision Tree].[Yearly Income] = t.[YearlyIncome] AND
  [TM Decision Tree].[Total Children] = t.[TotalChildren] AND
  [TM Decision Tree].[Number Children At Home] = t.[NumberChildrenAtHome] 
AND
  [TM Decision Tree].[House Owner Flag] = t.[HouseOwnerFlag] AND
  [TM Decision Tree].[Number Cars Owned] = t.[NumberCarsOwned] AND
  [TM Decision Tree].[Commute Distance] = t.[CommuteDistance]
WHERE
 (Predict ([Bike Buyer]))=@Buyer AND
 (PredictProbability([Bike Buyer]))>@Probability

[!附註]

這個範例使用 DimCustomer 資料表做為輸入資料表。這個範例只供說明。在 AdventureWorks 資料庫中,使用 DimCustomer 資料表來定型這個範例中使用的模型。通常,您會使用的輸入資料表,之前並不是用在定型的用途。

在這個範例中,您建立查詢之後,必須使用 [查詢參數] 對話方塊來定義查詢參數。若要執行此作業,請按一下查詢設計工具工具列上的 [查詢參數] ([查詢參數] 對話方塊圖示) 按鈕。

加入參數,如下所示。每個參數還必須有一個預設值。

參數

預設值

Buyer

1

機率

.75

[!附註]

[查詢參數] 對話方塊中指定的參數,必須和查詢中的參數相同,但是沒有 @ 符號。

當您切換到 [設計] 檢視來建立報表時,會從查詢參數建立新的報表參數。執行報表時,會向使用者顯示報表參數。您可以更新報表參數,以提供讓使用者選擇的值清單、指定預設值,或變更其他的報表參數屬性。

如需有關使用報表參數的詳細資訊,請參閱: