Freigeben über


Lektion 3: Verarbeiten der Marktkorb-Bergbaustruktur

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

Wenn Sie eine Miningstruktur verarbeiten, liest Analysis Services die Quelldaten und erstellt die Strukturen, die Miningmodelle unterstützen. Wenn Sie ein Miningmodell verarbeiten, werden die von der Miningstruktur definierten Daten über den von Ihnen ausgewählten Data Mining-Algorithmus übergeben. Der Algorithmus sucht nach Trends und Mustern und speichert diese Informationen dann im Miningmodell. Das Miningmodell enthält daher nicht die tatsächlichen Quelldaten, sondern enthält stattdessen die Informationen, die vom Algorithmus ermittelt wurden. Weitere Informationen zur Verarbeitung von Miningmodellen finden Sie unter "Verarbeitungsanforderungen und Überlegungen (Data Mining)".

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

Da die Market Basket-Miningstruktur eine geschachtelte Tabelle enthält, müssen Sie die Miningspalten definieren, die mithilfe der geschachtelten Tabellenstruktur trainiert werden sollen, und den Befehl verwenden SHAPE , um die Abfragen zu definieren, die die Schulungsdaten aus den Quelltabellen abrufen.

SQL INSERT INTO-Anweisung

Um die Market Basket Miningstruktur und die damit verbundenen Miningmodelle zu trainieren, verwenden Sie die INSERT INTO (DMX)-Anweisung. Der Code in der Anweisung kann in die folgenden Teile unterteilt werden.

  • Identifizieren der Bergbaustruktur

  • Die Spalten in der Miningstruktur auflisten

  • Definieren der Schulungsdaten mithilfe von SHAPE

Nachfolgend sehen Sie ein generisches Beispiel für die INSERT INTO Erklärung:

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 Zeile des Codes identifiziert die Miningstruktur, die Sie trainieren werden:

INSERT INTO MINING STRUCTURE [<mining structure name>]  

Die nächsten Zeilen des Codes geben die Spalten an, die durch die Miningstruktur definiert werden. Sie müssen jede Spalte in der Miningstruktur auflisten, und jede Spalte muss einer Spalte zugeordnet werden, die in den Quellabfragedaten enthalten ist. Sie können SKIP verwenden, um Spalten zu ignorieren, die in den Quelldaten existieren, aber nicht in der Miningstruktur vorhanden sind. Weitere Informationen zur Verwendung von SKIP finden Sie unter INSERT INTO (DMX).

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

In den letzten Codezeilen werden die Daten definiert, die zum Trainieren der Miningstruktur verwendet werden. Da die Quelldaten in zwei Tabellen enthalten sind, verwenden Sie SHAPE, um eine Beziehung zwischen den Tabellen herzustellen.

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, um die Quelldaten zu definieren. Informationen zu anderen Methoden zum Definieren einer Abfrage für die Quelldaten finden Sie unter <Quelldatenabfrage>.

Lektionsaufgaben

In dieser Lektion führen Sie die folgende Aufgabe aus:

  • Verarbeiten der Marktkorb-Bergbaustruktur

Verarbeitung der Market Basket Mining-Struktur

So verarbeiten Sie die Miningstruktur mithilfe von INSERT INTO

  1. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Instanz von Analysis Services, zeigen Sie auf Neue Abfrage, und klicken Sie dann auf DMX.

    Der Abfrage-Editor wird geöffnet und enthält eine neue, leere Abfrage.

  2. Kopieren Sie das generische Beispiel 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 bezieht sich Products auf die durch die SHAPE-Anweisung definierte Tabelle „Products“. SKIP wird verwendet, um die Modellspalte zu ignorieren, die in den Quelldaten als Schlüssel vorhanden ist, aber nicht von der Miningstruktur verwendet wird.

  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 im AdventureWorksDW2012-Beispielprojekt definierte Datenquelle "AdventureWorksDW2012". Sie verwendet diese Datenquelle, um auf die Ansichten vAssocSeqLineItems und vAssocSeqOrders zuzugreifen. Diese Ansichten enthalten die Quelldaten, die zum Trainieren des Miningmodells verwendet werden. Wenn Sie dieses Projekt oder diese Ansichten nicht erstellt haben, lesen Sie das Grundlegende Data Mining-Lernprogramm.

    Innerhalb des SHAPE Befehls werden Sie OPENQUERY verwenden, um zwei Abfragen zu definieren. Die erste Abfrage definiert die übergeordnete Tabelle, und die zweite Abfrage definiert die geschachtelte Tabelle. Die beiden Tabellen sind mit der Spalte "OrderNumber" verknüpft, die in beiden Tabellen vorhanden ist.

    Die vollständige Anweisung sollte nun 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. Klicken Sie im Menü Datei auf Speichern unter DMXQuery1.dmx.

  7. Navigieren Sie im Dialogfeld " Speichern unter " zum entsprechenden Ordner, und benennen Sie die Datei Process Market Basket.dmx.

  8. Klicken Sie auf der Symbolleiste auf die Schaltfläche "Ausführen ".

Nachdem die Abfrage ausgeführt wurde, können Sie die gefundenen Muster und Itemsets anzeigen, Zuordnungen anzeigen oder nach Itemset, Wahrscheinlichkeit oder Wichtigkeit filtern. Um diese Informationen anzuzeigen, klicken Sie in 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 basierend auf den Miningmodellen, die Sie der Market Basket-Struktur hinzugefügt haben.

Nächste Lektion

Lektion 4: Ausführen von Warenkorbvorhersagen