Vorgehensweise: Anwenden eines Filters auf ein Miningmodell
Wenn Ihre Miningstruktur eine geschachtelte Tabelle enthält, können Sie einen Filter auf die Falltabelle und/oder die geschachtelte Tabelle anwenden.
Die folgende Vorgehensweise veranschaulicht das Erstellen beider Filterarten: Fallfilter und Filter in den Zeilen der geschachtelten Tabelle.
Die Bedingung in der Falltabelle schränkt Kunden auf Kunden mit einem Einkommen zwischen 30000 und 40000 ein. Die Bedingung in der geschachtelten Tabelle schränkt die Kunden auf Kunden ein, die einen bestimmten Artikel nicht gekauft haben.
Die vollständige in diesem Beispiel erstellte Filterbedingung lautet wie folgt:
[Income] > '30000'
AND [Income] < '40000'
AND EXISTS (SELECT * FROM [<nested table name>]
WHERE [Model] <> 'Water Bottle' )
So erstellen Sie einen Fallfilter für ein Miningmodell
Klicken Sie in Business Intelligence Development Studio im Projektmappen-Explorer auf die Miningstruktur, die das Miningmodell enthält, auf das Sie einen Filter anwenden möchten.
Klicken Sie auf die Registerkarte Miningmodelle.
Wählen Sie das Modell aus, und klicken Sie mit der rechten Maustaste, um das Kontextmenü zu öffnen.
– Oder –
Wählen Sie das Modell aus. Wählen Sie dann im Menü MiningmodellModellfilter festlegen aus.
Klicken Sie im Dialogfeld Modellfilter im Textfeld Miningstrukturspalte auf die oberste Zeile im Raster.
Wenn die Datenquelle eine einzelne flache Tabelle enthält, zeigt die Dropdown-Liste nur die Namen der Spalten in dieser Tabelle an.
Wenn die Miningstruktur mehrere Tabellen enthält, zeigt die Liste die Namen der Quelltabellen an. Die Spaltennamen werden nur angezeigt, wenn eine Tabelle ausgewählt wurde.
Wenn die Miningstruktur eine Falltabelle und eine geschachtelte Tabelle enthält, werden in der Dropdown-Liste Spalten aus der Falltabelle sowie der Name der geschachtelten Tabelle angezeigt.
Wählen Sie eine Spalte aus der Dropdownliste aus.
Das Symbol auf der linken Seite des Textfelds ändert sich und gibt dadurch an, dass es sich beim ausgewählten Element um eine Tabelle oder eine Spalte handelt.
Klicken Sie auf das Textfeld Operator, und wählen Sie einen Operator aus der Liste aus. Die gültigen Operatoren hängen vom Datentyp der Spalte ab, die Sie ausgewählt haben.
Klicken Sie auf das Textfeld Wert, und geben Sie einen Wert ein.
Wählen Sie z. B. Income als Spalte aus, wählen Sie den Operator "Größer als" (>) aus, und geben Sie dann 30000 ein.
Klicken Sie auf die nächste Zeile im Raster.
Die erstellte Filterbedingung wird automatisch zum Textfeld Ausdruck hinzugefügt. Beispiel: [Income] > '30000'
Klicken Sie in der nächsten Zeile des Rasters auf das Textfeld AND/OR, um eine Bedingung hinzuzufügen.
Um z. B. eine BETWEEN-Bedingung zu erstellen, wählen Sie AND aus der Dropdownliste der logischen Operanden aus.
Wählen Sie einen Operator aus, und geben Sie einen Wert ein, wie in Schritt 7 und 8 beschrieben.
Wählen Sie z. B. erneut Income als Spalte aus, wählen Sie den Operator "Kleiner als" (<) aus, und geben Sie dann 40000 ein.
Klicken Sie auf die nächste Zeile im Raster.
Die Filterbedingung im Textfeld Ausdruck wird automatisch aktualisiert, um die neue Bedingung einzuschließen. Der vollständige Ausdruck lautet wie folgt: [Income] > '30000'AND [Income] < '40000'
So fügen Sie einen Filter in der geschachtelten Tabelle in einem Miningmodell hinzu
Klicken Sie im Dialogfeld <Name>Modellfilter auf eine leere Zeile im Raster unter Miningstrukturspalte.
Wählen Sie den Namen der geschachtelten Tabelle aus der Dropdown-Liste aus.
Das Symbol auf der linken Seite des Textfelds ändert sich und gibt dadurch an, dass es sich beim ausgewählten Element um den Namen einer Tabelle handelt.
Klicken Sie auf das Textfeld Operator, und wählen Sie Enthält oder Enthält nicht aus.
Dies sind die einzigen Bedingungen, die für die geschachtelte Tabelle im Dialogfeld Modellfilter verfügbar sind, da Sie die Falltabelle auf die Fälle einschränken, die einen bestimmten Wert in der verschachtelten Tabelle enthalten. Sie legen den Wert für die Bedingung in der geschachtelten Tabelle im nächsten Schritt fest.
Klicken Sie auf das Feld Wert, und klicken Sie dann auf die Schaltfläche (...), um einen Ausdruck zu erstellen.
Das Dialogfeld <Name>Filter wird geöffnet. Dieses Dialogfeld kann Bedingungen nur für die aktuelle Tabelle festlegen. In diesem Fall ist dies die geschachtelte Tabelle.
Klicken Sie auf das Feld Miningstrukturspalte, und wählen Sie einen Spaltennamen aus den Dropdown-Listen der Spalten der verschachtelten Tabelle aus.
Klicken Sie auf Operator, und wählen Sie einen Operator aus der Liste der gültigen Operatoren für die Spalte aus.
Klicken Sie auf Wert, und geben Sie einen Wert ein.
Wählen Sie z. B. für MiningstrukturspalteModell aus. Wählen Sie für Operator<> aus, und geben Sie den Wert Water Bottle ein. Diese Bedingung erstellt den folgenden Filterausdruck:
EXISTS (SELECT * FROM [<nested table name>] WHERE [Model] <> 'Water Bottle' )
Hinweis |
---|
Da die Anzahl der Attribute für eine geschachtelte Tabelle praktisch unbegrenzt ist, stellt Analysis Services keine Liste mit möglichen Werten zur Auswahl bereit. Sie müssen den genauen Wert eingeben. Außerdem können Sie in einer geschachtelten Tabelle keinen LIKE-Operator verwenden. |
Fügen Sie bei Bedarf weitere Bedingungen hinzu, und kombinieren Sie dabei die Bedingungen durch Auswahl von AND oder OR im Feld AND/OR links des Rasters Bedingungen. Klicken Sie auf OK.
Überprüfen Sie im Dialogfeld Modellfilter festlegen die von Ihnen im Dialogfeld Filter erstellten Bedingungen. Die Bedingungen für die geschachtelte Tabelle werden an die Bedingungen für die Falltabelle angehängt, und die vollständigen Filterbedingungen werden im Textfeld Ausdruck angezeigt.
Sie können auch auf Abfrage bearbeiten klicken, um den Filterausdruck manuell zu ändern.
Hinweis Wenn Sie 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.
Siehe auch