Externe Inhaltstypen – mehrere Filter im SharePoint Designer

Seit SharePoint 2010 lassen sich externe Daten relativ einfach per SharePoint Designer einbinden. Man kann dabei auch sehr einfach Filter definieren, so daß die Benutzer später die externen Daten gezielt nach einzelnen Feldern durchsuchen können. Problematisch wird es erst, wenn mehrere Filter definiert werden sollen.

Da ich gerade ziemlich lange dazu gebraucht habe, Filter für mehrere Felder so zu definieren, daß man später gezielt Datensätze nach bestimmten Kriterien durchsuchen kann, hier die korrekte Filterdefinition (leider habe ich mal wieder nur einen englischen SharePoint Designer für die Screenshots).

Ausgangspunkt ist eine Tabelle im SQL Server mit Gerätedaten. Diese sollen später in SharePoint über ein Nachschlagefeld mit einer normalen SharePoint-Liste verknüpft werden. Dabei soll es möglich sein, daß die Benutzer ein Gerät nach Gerätenummer, Typ, Modell usw. suchen können. Zu Testzwecken habe ich dazu in der Tabelle 100.000 Datensätze mit Zufallsdaten erzeugt.

Zur Konfiguration von Filtern öffnet man den externen Inhaltstyp in SharePoint Designer. Filter werden auf den Read List Operationen definiert, die man einfach per Doppelklick öffnet:

Es öffnet sich ein Dialog, bei dem man einfach auf Weiter klickt, um zur Definition der Filterparameter zu gelangen. Ein Limit-Filter sollte dort bereits vorhanden sein (Best practice). Limit-Filter begrenzen die Anzahl der zurückgegebenen Datensätze und verhindern so, daß "versehentlich" tausende von Datensätzen verarbeitet werden müssen.

Wir wollen jetzt zusätzlich mehrere Wildcard-Filter definieren. Mit einem Wildcard-Filter kann in einem Feld der Datenquelle nach Teilzeichenfolgen gesucht werden. D.h. es werden alle Datensätze gefunden, bei denen der gesuchte Text in einem Feld vorkommt (am Anfang, in der Mitte oder am Ende).

Um einen neuen Filter zu erstellen, klickt man unterhalb der Filterliste auf den Button Add Filter Parameter. Es wird ein neuer Filter angelegt, der über die Eigenschaften am rechten Rand konfiguriert werden kann:

Im oberen DropDown wird das Feld ausgewählt, auf das sich dieser Filter beziehen soll. Im unteren Feld kann ein Standardwert für den Filter angegeben werden. Bei einer SQL-Datenquelle und einem Wildcard-Filter gibt man hier ein Prozentzeichen ein. Durch Klick auf den Link über dem Default Value öffnet sich ein Dialog, mit dem weitere Einstellungen festgelegt werden:

Ganz oben wird ein Name für den Filter angegeben (der später nicht mehr geändert werden kann). Diesen Namen sehen die Benutzer später, wenn sie nach einem bestimmten Datensatz suchen (s.u.). Als Filtertyp gibt man Wildcard an und wählt nochmal das Feld aus, auf das sich der Filter beziehen soll. Weitere Einstellungen sind nicht notwendig und dürfen auch nicht gemacht werden, damit mehrere Filter später zusammenarbeiten.

Auf diese Weise kann man Filter für beliebige Felder der Datenquelle definieren. Die einzelnen Filter werden alle mit UND verknüpft, so daß sich dieses Gesamtbild ergibt:

Bei meinen Versuchen war das die einzige Konfiguration, bei der wirklich alle Filter korrekt funktionieren. Bei anderen Einstellungen ergaben sich seltsame Nebeneffekte, wie z.B. daß im falschen Feld gesucht wurde oder daß der Suchtext in allen Feldern enthalten sein mußte.

Für den Benutzer stellt sich die Auswahl dann so dar:

Über das DropDown kann ein Filter ausgewählt werden. In der Textbox rechts davon wird der zu suchende Text eingegeben und man bekommt nur noch Datensätze angezeigt, bei denen der Suchtext im entsprechenden Feld vorkommt.

5 Gedanken zu “Externe Inhaltstypen – mehrere Filter im SharePoint Designer

  1. Nein, die gibt es auch bei Foundation. Es ist der Dialog, der erscheint wenn man bei einem Feld vom Typ „Externe Daten“ auf das Symbol ganz rechts klickt (analog einem Personenfeld).

    Gefällt mir

  2. an Andi
    durch deinen Hinweis bin bei gleicher Aufgabenstellung deutlich weitergekommen.
    Ich habe aber eine weiterführende Fragen dazu:
    Bei Auswahl kann ich immer nur einen Filter nutzen (die anderen werden ja mit % vorbelegt). Wenn ich aber dem Anwender die Möglichkeit geben möchte alle 3 Parameter in UND-Kombition zu nutzen, wäre das auch möglich?
    Gruß

    Gefällt mir

  3. Hallo Bernd,
    der Standard-Dialog kennt immer nur einen Filter. Für eine Abfrage über mehrere Felder müßte man entweder selbst entwickeln oder nach Drittanbietertools suchen.
    Andi

    Gefällt mir

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s