Filtern einer geschachtelten Tabelle in einem Miningmodell (Data Mining-Lernprogramm für Fortgeschrittene)

Nachdem Sie das Modell erstellt und sich damit vertraut gemacht haben, möchten Sie sich mit einer Teilmenge der Kundendaten näher beschäftigen. Dazu können Sie beispielsweise nur die Einkaufskörbe betrachten, die ein bestimmtes Element enthalten, oder die demografischen Daten von Kunden analysieren, die über einen bestimmten Zeitraum keine Einkäufe getätigt haben.

SQL Server 2008 Analysis Services bietet die Möglichkeit zur Filterung von Daten, die in einem Miningmodell verwendet werden, sodass Sie keine neue Datenquellensicht einrichten müssen, um andere Daten zu verwenden. Im Lernprogramm zu Data Mining-Grundlagen haben Sie gelernt, wie Daten von einer flachen Tabelle durch das Übernehmen von Bedingungen für die Falltabelle gefiltert werden. In dieser Aufgabe erstellen Sie einen Filter für eine geschachtelte Tabelle.

Filter für geschachtelte Tabellen und Filter für Falltabellen

Wenn die Datenquellenansicht wie im Modell Association eine Falltabelle und eine geschachtelte Tabelle enthält, können Sie einen Filter für Werte in der Falltabelle, einen Filter für vorhandene oder nicht vorhandene Werte in der geschachtelten Tabelle oder eine Kombination aus beiden verwenden.

In dieser Aufgabe erstellen Sie zunächst eine Kopie des Modells Association und fügen die Attribute IncomeGroup und Region hinzu, um diese später als Filterkriterien für die Falltabelle verwenden zu können.

So erstellen und ändern Sie eine Kopie des Modells Association

  1. Klicken Sie auf der Registerkarte Miningmodelle von Business Intelligence Development Studio mit der rechten Maustaste auf das Modell Association, und wählen Sie Neues Miningmodell aus.

  2. Geben Sie für Modellname den Namen Association Filtered ein. Wählen Sie Microsoft Association Rules als Algorithmusname aus. Klicken Sie auf OK.

  3. Klicken Sie in der Spalte für das Modell Association Filtered auf die Zeile IncomeGroup, und ändern Sie den Wert von Ignorieren in Eingabe.

Anschließend erstellen Sie einen Filter für die Falltabelle im neuen Zuordnungsmodell. Durch den Filter werden nur Kunden in der Zielregion oder Kunden mit einem Einkommensniveau entsprechend den Kriterien im Modell verwendet. Nun fügen Sie eine weitere Reihe von Filterbedingungen hinzu, um anzugeben, dass nur Kunden im Modell berücksichtigt werden sollen, in deren Einkaufskorb sich mindestens ein Element befindet.

So fügen Sie einem Miningmodell einen Filter hinzu:

  1. Klicken Sie auf der Registerkarte Miningmodelle mit der rechten Maustaste auf das Modell Association Filtered, und wählen Sie Modellfilter festlegen aus.

  2. Klicken Sie im Dialogfeld Modellfilter im Textfeld Miningstrukturspalte auf die oberste Zeile im Raster.

  3. Wählen Sie im Textfeld Miningstrukturspalte die Option IncomeGroup aus.

    Das Symbol auf der linken Seite des Textfelds ändert sich und gibt dadurch an, dass es sich beim ausgewählten Element um eine Spalte handelt.

  4. Klicken Sie auf das Textfeld Operator, und wählen Sie den Operator = aus der Liste aus.

  5. Klicken Sie auf das Textfeld Wert, und geben Sie den Wert High ein.

  6. Klicken Sie auf die nächste Zeile im Raster.

  7. Klicken Sie in der nächsten Zeile des Rasters auf das Textfeld AND/OR, und wählen Sie OR aus.

  8. Wählen Sie im Textfeld Miningstrukturspalte die Option IncomeGroup aus. Geben Sie im Textfeld Wert den Wert Moderate ein.

    Die erstellte Filterbedingung wird automatisch dem Textfeld Ausdruck hinzugefügt und sollte wie folgt angezeigt werden:

    [IncomeGroup] = 'High' OR [IncomeGroup] = 'Moderate'

  9. Klicken Sie auf die nächste Zeile im Raster, und behalten Sie den Standardoperator AND bei.

  10. Übernehmen Sie für Operator den Standardwert Enthält. Klicken Sie auf das Textfeld Wert.

  11. Wählen Sie im Dialogfeld Filter in der ersten Zeile unter Miningstrukturspalte die Option Model aus.

  12. Wählen Sie für Operator den Wert IS NOT NULL aus. Lassen Sie das Textfeld Wert leer. Klicken Sie auf OK.

    Die Filterbedingung im Textfeld Ausdruck des Dialogfelds Modellfilter wird automatisch aktualisiert, um die neue Bedingung für die geschachtelte Tabelle einzuschließen. Der vollständige Ausdruck lautet wie folgt:

    [IncomeGroup] = 'High' OR [IncomeGroup] = 'Moderate' AND EXISTS (SELECT * FROM [vAssocSeqLineItems] WHERE [Model] <> NULL)

  13. Klicken Sie auf OK.  

So aktivieren Sie Drillthrough und verarbeiten das gefilterte Modell

  1. Klicken Sie auf der Registerkarte Miningmodelle mit der rechten Maustaste auf das Modell Association Filtered, und wählen Sie Eigenschaften aus.

  2. Ändern Sie die AllowDrillThrough-Eigenschaft in True.

  3. Klicken Sie mit der rechten Maustaste auf das Miningmodell Association Filtered, und wählen Sie Prozessmodell aus.

  4. Klicken Sie in der Fehlermeldung auf Ja, um das neue Modell in der Analysis Services-Datenbank bereitzustellen.

  5. Klicken Sie im Dialogfeld Miningstruktur verarbeiten auf Ausführen.

  6. Klicken Sie nach Abschluss der Verarbeitung auf Schließen, um das Dialogfeld Verarbeitungsstatus zu schließen, und klicken Sie erneut auf Schließen, um das Dialogfeld Miningstruktur verarbeiten zu schließen.

Im Microsoft Generic Content Tree Viewer können Sie anhand des Werts für NODE_SUPPORT feststellen, dass das gefilterte Modell weniger Fälle als das ursprüngliche Modell enthält.

Hinweise

Mit dem Filter für eine geschachtelte Tabelle, den Sie gerade erstellt haben, wird nur überprüft, ob mindestens eine Zeile in der geschachtelten Tabelle enthalten ist. Sie können jedoch Filterbedingungen erstellen, mit denen das Vorhandensein bestimmter Produkte überprüft wird. Beispielsweise können Sie folgenden Filter erstellen:

 [IncomeGroup] = 'High' AND
  EXISTS (SELECT * FROM [<nested table name>] WHERE [Model] = 'Water Bottle' ) 

Diese Anweisung bewirkt, dass die Kunden in der Falltabelle auf Kunden eingeschränkt werden, die eine Flasche Wasser gekauft haben. Da die Anzahl der Attribute für eine geschachtelte Tabelle jedoch praktisch unbegrenzt ist, stellt Analysis Services keine Liste mit möglichen Werten zur Auswahl bereit. Sie müssen stattdessen den genauen Wert eingeben.

Sie können auf Abfrage bearbeiten klicken, um den Filterausdruck manuell zu ändern. Wenn Sie jedoch einen Teil eines Filterausdrucks manuell ändern, wird das Raster deaktiviert, und anschließend müssen Sie mit dem Filterausdruck im Textbearbeitungsmodus arbeiten. Um den Rasterbearbeitungsmodus wiederherzustellen, müssen Sie den Filterausdruck löschen und von Neuem beginnen.

Außerdem können Sie in einer geschachtelten Tabelle keinen LIKE-Operator verwenden.