Lektion 3: Verarbeiten der Market Basket-Miningstruktur

Neu: 05. Dezember 2005

In dieser Lektion verwenden Sie die INSERT INTO (DMX)-Anweisung und die vAssocSeqLineItems- sowie die vAssocSeqOrders-Sicht aus der AdventureWorksDW-Beispieldatenbank, um die Miningstrukturen und Miningmodelle zu verarbeiten, die Sie in Lektion 1: Erstellen der Market Basket-Miningstruktur und Lektion 2: Hinzufügen von Miningmodellen zur Market Basket-Miningstruktur 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. Aus diesem Grund enthält das Miningmodell nicht die tatsächlichen Quelldaten, sondern die vom Algorithmus entdeckten Informationen. Weitere Informationen zur Verarbeitung von Miningmodellen finden Sie unter Verarbeiten von Data Mining-Objekten.

Wenn Sie eine Strukturspalte oder die Quelldaten ändern, müssen Sie lediglich eine Miningstruktur erneut verarbeiten. Wenn Sie einer Miningstruktur, die bereits verarbeitet wurde, ein Miningmodell hinzufügen, können Sie das neue Miningmodell mithilfe der INSERT INTO MINING MODEL-Anweisung trainieren.

Da die Market Basket-Miningstruktur eine geschachtelte Tabelle enthält, müssen Sie die zu trainierenden Miningspalten mithilfe der Struktur der geschachtelten Tabelle definieren und mithilfe des SHAPE-Befehls die Abfragen definieren, die die Trainingsdaten aus den Quelltabellen extrahieren.

INSERT INTO-Anweisung

Verwenden Sie zum Trainieren der Market Basket-Miningstruktur und ihrer zugehörigen Miningmodelle 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 SHAPE

Es folgt ein allgemeines Beispiel für die INSERT INTO-Anweisung:

INSERT INTO MINING STRUCTURE [<mining structure name>]
(
   <mining structure columns>
   [<nested table>]
   ( SKIP, <skipped columns> )
)
SHAPE {
  OPENQUERY([<datasource>],'<SELECT statement>') }
APPEND
( 
  {OPENQUERY([<MyDataSource>],'<nested SELECT statement>')
}
RELATE [<case key>] TO [<foriegn 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 SKIP verwenden, um Spalten zu ignorieren, die in den Quelldaten, jedoch nicht in der Miningstruktur vorhanden sind. Weitere Informationen zum Verwenden von SKIP finden Sie unter INSERT INTO (DMX).

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

Die letzten Codezeilen definieren die Daten, die zum Trainieren der Miningstruktur verwendet werden. Da die Quelldaten auf zwei Tabellen verteilt sind, verwenden Sie SHAPE, um die Tabellen miteinander in Beziehung zu setzen.

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

In dieser Lektion verwenden Sie OPENQUERY zum Definieren der Quelldaten. Weitere Informationen zu anderen Definitionsmethoden für die Quellabfrage finden Sie unter <source data query>.

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. 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 mit einer neuen leeren Abfrage geöffnet.

  2. Kopieren Sie das allgemeine 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 columns> )
    

    durch:

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

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

  5. Ersetzen Sie Folgendes:

    SHAPE {
      OPENQUERY([<datasource>],'<SELECT statement>') }
    APPEND
    ( 
      {OPENQUERY([<datasource>],''<nested SELECT statement>'')
    }
    RELATE [<case key>] TO [<foriegn 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 AdventureWorksDW-Beispielprojekt definierte AdventureWorksDW-Datenquelle. 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.

    Im SHAPE-Befehl werden Sie mithilfe von OPENQUERY zwei Abfragen 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. Klicken Sie im Menü Datei auf DMXQuery1.dmx speichern unter.

  7. Wechseln Sie im Dialogfeld Speichern unter in den entsprechenden Ordner, und geben Sie der Datei den Namen Process Market Basket.dmx.

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

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