Lektion 3: Verarbeiten der Market Basket-Miningstruktur

 

Gilt für: SQL Server 2016 Preview

In dieser Lektion verwenden Sie die INSERT INTO ( DMX ) -Anweisung und vAssocSeqLineItems sowie vAssocSeqOrders aus der AdventureWorksDW2012 -Beispieldatenbank zum Verarbeiten von Miningstrukturen und Miningmodelle, die Sie in erstellt haben Lektion 1: Erstellen der Market Basket-Miningstruktur und Lektion 2: Hinzufügen von Miningmodellen zur Market Basket-Miningstruktur.

Wenn Sie eine Miningstruktur verarbeiten Analysis Services liest die Quelldaten und erstellt die Strukturen, die die Miningmodelle unterstützen. Wenn Sie ein Miningmodell verarbeiten, werden von der Miningstruktur definierten Daten über Datamining-Algorithmus übergeben, die Sie ausgewählt haben. Der Algorithmus sucht nach Trends und Mustern und speichert diese Informationen dann im Miningmodell. Aus diesem Grund enthält das Miningmodell nicht die tatsächlichen Quelldaten, sondern die vom Algorithmus ermittelten Informationen. Weitere Informationen zum Verarbeiten von Miningmodellen finden Sie unter Verarbeitung von Anforderungen und Aspekte ( Data Mining ).

Sie müssen eine Miningstruktur nur erneut verarbeiten, wenn Sie eine Strukturspalte oder die Quelldaten ändern. Wenn Sie eine Miningstruktur ein Miningmodell, die bereits verarbeitet wurde hinzufügen, können Sie die INSERT INTO MINING MODEL Anweisung, um das neue Miningmodell für die vorhandenen Daten trainieren.

Da die Market Basket-Miningstruktur eine geschachtelte Tabelle enthält, Sie müssen die Spalten Miningmodell trainiert werden mithilfe der Struktur der geschachtelten Tabelle definieren und verwenden Sie die Form Befehl aus, um die Abfragen zu definieren, die die Trainingsdaten aus den Quelltabellen extrahieren.

INSERT INTO-Anweisung

Trainieren der Market Basket-Miningstruktur und ihre zugeordneten Mining-Modelle verwenden die INSERT INTO ( DMX ) Anweisung. Der in der Anweisung enthaltene Code umfasst folgende Abschnitte.

  • Identifizieren der Miningstruktur

  • Auflisten der Spalten in der Miningstruktur

  • Definieren der Trainingsdaten mithilfe von Form

Im folgenden ist ein allgemeines Beispiel der INSERT INTO Anweisung:

INSERT INTO MINING STRUCTURE [<mining structure name>]  
(  
   <mining structure columns>  
   [<nested table>]  
   ( SKIP, <skipped column> )  
)  
SHAPE {  
  OPENQUERY([<datasource>],'<SELECT statement>') }  
APPEND  
(   
  {OPENQUERY([<datasource>],'<nested SELECT statement>')  
}  
RELATE [<case key>] TO [<foreign key>]  
) AS [<nested table>]  

Die erste Codezeile identifiziert die Miningstruktur, die Sie trainieren werden:

INSERT INTO MINING STRUCTURE [<mining structure name>]  

Die nächsten Codezeilen geben die Spalten an, die durch die Miningstruktur definiert werden. Sie müssen jede Spalte in der Miningstruktur auflisten, und jede Spalte muss einer in den Quellabfragedaten enthaltenen Spalte zugeordnet werden. Sie können überspringen Spalten ignorieren, die in den Quelldaten vorhanden, jedoch nicht in der Miningstruktur vorhanden sind. Weitere Informationen zur Verwendung von überspringen, finden Sie unter INSERT INTO ( DMX ).

(  
   <mining structure columns>  
   [<nested table>]  
   ( SKIP, <skipped column> )  
)  

Die letzten Codezeilen definieren die Daten, die zum Trainieren der Miningstruktur verwendet werden. Da die Daten in zwei Tabellen enthalten ist, verwenden Sie Form zum Verknüpfen der Tabellen.

SHAPE {  
  OPENQUERY([<datasource>],'<SELECT statement>') }  
APPEND  
(   
  {OPENQUERY([<datasource>],''<nested SELECT statement>'')  
}  
RELATE [<case key>] TO [<foreign key>]  
) AS [<nested table>]  

In dieser Lektion verwenden Sie OPENQUERY zum Definieren der Quelldaten. Informationen zu anderen Methoden zur Definition einer Abfrage für die Quelldaten finden Sie unter < quelldatenabfrage >.

Lektionsaufgaben

Im Rahmen dieser Lektion führen Sie die folgende Aufgabe aus:

  • Verarbeiten der Market Basket-Miningstruktur

Verarbeiten der Market Basket-Miningstruktur

So verarbeiten Sie die Miningstruktur mithilfe von INSERT INTO

  1. In Objekt-Explorer, mit der rechten Maustaste in der Instanzstatus von Analysis Services, zeigen Sie auf neue Abfrage, und klicken Sie dann auf DMX.

    Der Abfrage-Editor wird mit einer neuen leeren Abfrage geöffnet.

  2. Kopieren Sie das Standardbeispiel der INSERT INTO-Anweisung in die leere Abfrage.

  3. Ersetzen Sie Folgendes:

    [<mining structure>]  
    

    durch:

    Market Basket  
    
  4. Ersetzen Sie Folgendes:

    <mining structure columns>  
    [<nested table>]  
    ( SKIP, <skipped column> )  
    

    durch:

    [OrderNumber],  
    [Products]   
    (SKIP, [Model])  
    

    In der Anweisung Produkte bezieht sich auf die Products-Tabelle, die durch die SHAPE-Anweisung definiert. SKIP wird verwendet, um die Spalte Modelle zu ignorieren, die in den Quelldaten als Schlüssel vorhanden, jedoch nicht von der Miningstruktur verwendet.

  5. Ersetzen Sie Folgendes:

    SHAPE {  
      OPENQUERY([<datasource>],'<SELECT statement>') }  
    APPEND  
    (   
      {OPENQUERY([<datasource>],'<nested SELECT statement>')  
    }  
    RELATE [<case key>] TO [<foreign key>]  
    ) AS [<nested table>]  
    

    durch:

    SHAPE {  
      OPENQUERY([Adventure Works DW],'SELECT OrderNumber  
                FROM vAssocSeqOrders ORDER BY OrderNumber')}  
    APPEND  
    (   
      {OPENQUERY([Adventure Works DW],'SELECT OrderNumber, Model FROM   
        dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model')  
    }  
    RELATE OrderNumber to OrderNumber   
    ) AS [Products]  
    

    Die Quellabfrage verweist auf die AdventureWorksDW2012 in definierten Datenquelle die AdventureWorksDW2012 Beispielprojekt. Sie verwendet diese Datenquelle für den Zugriff auf die Sichten vAssocSeqLineItems und vAssocSeqOrders. Diese Sichten enthalten die Quelldaten, die zum Trainieren des Miningmodells verwendet werden. Wenn Sie dieses Projekt oder diesen Sichten nicht erstellt haben, finden Sie unter grundlegende Data Mining-Lernprogramm.

    In der Form -Befehl verwenden Sie OPENQUERY um zwei Abfragen zu definieren. Die erste Abfrage definiert die übergeordnete Tabelle und die zweite Abfrage definiert die geschachtelte Tabelle. Die zwei Tabellen werden mithilfe der OrderNumber-Spalte, die in beiden Tabellen vorhanden ist, miteinander in Beziehung gesetzt.

    Die gesamte Anweisung sollte wie folgt aussehen:

    INSERT INTO MINING STRUCTURE [Market Basket]  
    (  
       [OrderNumber],[Products] (SKIP, [Model])  
    )  
    SHAPE {  
      OPENQUERY([Adventure Works DW],'SELECT OrderNumber  
                FROM vAssocSeqOrders ORDER BY OrderNumber')}  
    APPEND  
    (   
      {OPENQUERY([Adventure Works DW],'SELECT OrderNumber, Model FROM   
        dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model')  
    }  
    RELATE OrderNumber to OrderNumber   
    ) AS [Products]  
    
  6. Auf der Datei Menü klicken Sie auf Dmxquery1.DMX speichern.

  7. In der Speichern Dialogfeld wechseln Sie zum entsprechenden Ordner, und nennen Sie die Datei Process Market Basket.dmx.

  8. Klicken Sie auf der Symbolleiste auf die Execute Schaltfläche.

Nachdem die Abfrage ausgeführt wurde, werden die gefundenen Muster und Itemsets sowie die Zuordnungen angezeigt, außerdem können Sie nach Itemset, Wahrscheinlichkeit oder Wichtigkeit filtern. Zum Anzeigen dieser Informationen im SQL Server Management Studio, mit der rechten Maustaste auf den Namen des Datenmodells, und klicken Sie dann auf Durchsuchen.

In der nächsten Lektion erstellen Sie mehrere Vorhersagen auf der Basis des Miningmodells, das Sie der Market Basket-Struktur hinzugefügt haben.

Nächste Lektion

Lektion 4: Ausführen von Warenkorbvorhersagen