Ansichten: Filtermöglichkeiten

Eine der Grundfunktionen von Ninox ist die Möglichkeit, Daten in einer Ansicht zu filtern, d.h. nur bestimmte Daten anzeigen zu lassen. Die Grundlegende Arbeit mit unterschiedlichen Ansichten wurde bereits im vorhergehenden Kapitel erläutert. An dieser Stelle sollen die Filtermöglichkeiten detaillierter erklärt werden.

Einfache Filter

Einen Filter legen Sie fest, indem Sie auf den Spaltenkopf klicken.

In dem Feld “Filter” können Sie dann einen beliebigen Suchtext eingeben. Ninox zeigt dann nur die Datensätze an, die diesen Text in der entsprechenden Spalte enthalten. Groß- und Kleinschreibung wird dabei ignoriert.

Selbstverständlich können auch auf mehrere Spalten Filter gelegt werden. Damit ein Datensatz angezeigt wird, muss er alle Filterkriterien erfüllen (logische UND-Verknüpfung).

Filterausdrücke

Ninox unterstützt in dem oben beschriebenen Filterfeld auch komplexere Filterbedingungen.

=”Wert” Exakter Vergleich mit einer Zeichenkette
like “Wert” Prüft, ob “Wert” enthalten ist und ignoriert dabei Groß- und Kleinschreibung
=1234 Exakter Vergleich mit einer Zahl
>100 Größer als 100
>=100 Größer oder gleich 100
<100 Kleiner als 100
<=100 Kleiner oder gleich 100
!=100 Ungleich 100

Diese Ausdrücke können auch kombiniert werden. Dabei unterstützt Ninox die drei logischen Operatoren and, or und not. Einige Beispiele:

>10 and <100 Zwischen 10 und 100 (exklusive)
>=10 and <=100 Zwischen 10 und 100 (inklusive)
not like “erledigt” Nur Zeilen, die nicht “erledigt” enthalten
like “erledigt” or like “zurückgestellt” Nur Zeilen, die “erledigt” oder “zurückgestellt” enthalten

Datums-Filter

Bei Spalten mit Datumswerten unterstützt Ninox die Eingabe eines vollständigen oder auch teilweisen Datums im Filter:

25.03.2015 Nur der 25.03.2015
03.2015 Alle Daten im März 2015
2015 Alle Daten im Jahr 2015

Vergleichende Filter unterstützt Ninox an dieser Stelle noch nicht, über einen kleinen Umweg ist aber auch dies möglich: Ändern Sie die Spalte mit der Funktion “Spalten einblenden…” aus dem Ansichtsmenü. Setzen Sie die Formel auf
formatieren(Datum, YYYY-MM-DD)
Dann können Sie mit Vergleichen wie
>=”2015-03-01″ and <="2015-03-31"
arbeiten.

Leere Werte erkennen

Mit den Filterausdrücken =null bzw. !=null kann auf leer geprüft werden.

Erweiterte Filtermöglichkeiten

In einigen Fällen lassen sich Filter nicht über die oben beschriebenen Mechanismen umsetzen. Zum Beispiel, wenn Sie Daten aus mehreren Feldern zu einem zusammengestezen Kriterium kombinieren wollen. Aber auch diese Fälle können mit Ninox abgedeckt werden. Der Trick ist, den Filter über eine zusätzliche, berechnete Spalte zu definieren.

Nutzen Sie dazu die Funktion “Spalten einblenden…” aus dem Ansichtsmenü und ziehen Sie eine Formel in die Liste der sichtbaren Spalten. In dieser Formel können Sie auf alle Felder der Tabelle und auch auf die Felder verknüpfter Tabellen zugreifen. Idealerweise bauen Sie die Formel so auf, dass Sie einen Ja/Nein-Wert zurückliefert. Dann können Sie den Filter für diese berechnete Spalte auf “Ja” oder auf “Nein” setzen.

Wenn Sie zum Beispiel alle Zeilen anzeigen wollen, die ein Datum in der Zukunft haben, können Sie dies über eine berechnete Spalte erreichen: Definieren Sie eine Spalte mit der Funktion:
Datum > Heute
bzw. Datum > today() bei textueller Eingabe der Fomel.
Stellen Sie den Filter für diese Spalte auf “Ja”.

40 Gedanken zu „Ansichten: Filtermöglichkeiten

  1. Hallo. Eine Frage: Kann ich in einer Ansicht irgendwie gruppierte Elemente anhand der Anzahl der Gruppen (vollständig) ein- oder ausblenden? Die Frage ist sehr schwer zu formulieren, daher versuche ich es anhand eines Screenshots. Im Screenshot werden die Daten nach “Anwendungsgruppe” gruppiert. In der Spalte “bestellen” gibt es entweder ein “ja” oder nichts. Wenn dort ein ja auftaucht, wird dies im Gruppenkopf gezählt, also die Anzahl ausgegeben. Alle Gruppen mit Anzahl “0″ sollen vollständig ausgeblendet werden, aber alle Gruppen mit Anzahl > 0 sollen (vollständig) angezeigt werden. Der Clou ist, dass bei den Gruppen, die angezeigt werden sollen, auch die Zeilen mit bestellen = “leer” angezeigt werden sollen, also so wie beim grünen Pfeil. Diese einfach auszufiltern ist also nicht das, was ich suche.

    https://www.screencast.com/t/FxdjCyGT

    1. So, wie Du Dir das vorstellst, geht es leider nicht. Aber: Wenn ich es richtig verstehe, sind die Elemente nicht interessant, bei denen die Summe der Einträge im Feld “bestellen” = 0 ist. Dies sollte sich durch einen Filter realisieren lassen. Schick mir doch die Datenbank, an der Du arbeitest, einmal zu ( support@ninoxdb.de ), ich schau dann gerne rein.

      Birger – Ninox Support

  2. Hallo Zusammen,

    ich muss relativ häufig in einer DB mehreren Filter setzen. Nun suche ich die Funktion, um mit einem Mausklick ALLE Filter zurückzusetzen, also “Alle Daten anzeigen”.
    Bin ich zu blind?

  3. Hallo,

    gleich noch mal eine Frage zu Filtern.

    Seit kurzem ist es ja möglich im Datumsfeld mit “von” zu “bis” zu filtern.
    Nur muss man diesen Zeitraum ja jedes mal neu wählen, wenn ich z. B. eine Zeitspanne von heute + 7 Tage abfragen will.
    Nun würde ich einen gewissen Zeitraum gerne schon als Druckvorlage(“Drucke die nächsten 7 Tage”) fertig speichern, kann man dieses irgendwie per Formel oder Filter lösen?

    Vielen Dank für einen Tip.

    Grüße
    Mirko

    1. Hallo Mirko,
      ich würde eine neue Spalte mit Formel:

      let ANF := today();
      let END := ANF + 7;
      if Datum >= ANF and Datum <= END then
      format(Datum, "DD.MM.YYYY")
      else
      "a"
      end

      anlegen. und als Filter

      <"a"

      Grüße
      Leo

  4. Hallo,

    gibt es die Möglichkeit in einem Formular Datumsdaten zu filtern?
    Konkret habe ich eine Tabelle mit mehreren Untertabellen, die alle dafür da sind, Summen von Einnahmen und Ausgaben aufzunehmen.
    Die Hauptabelle ist dabei nur als Auswertungsformular gedacht, ich habe dort nur einen Datensatz, und sammle die ganzen Daten in den Untertabellen.
    Nun würde ich gerne die Summen aus einer oder auch gleich mehreren Tabellen in einem Feld als Gesamtsumme anzeigen lassen, und zwar über einen von mir ausgewählten Zeitraum.

    Ich hab mir jetzt das ganze so vorgestellt, dass ich zwei Felder habe, einmal ‘Datum von’, einmal ‘Datum bis’, und eine Befehlsschaltfläche mit der Funktion ‘Zeitraum anzeigen’. Dann sollte in einem oder mehreren Feldern die Summe aus dem gewählten Zeitraum in den Feldern erscheinen.

    Ist sowas möglich, ich weiss nicht welche Formel ich dort verwenden könnte?

    Grüße
    Mirko

    1. also die Formel sollte in etwa so lauten:
      –––
      let myVon := 'Datum von';
      let myBis := 'Datum bis';
      sum ( 'Untertabelle'['Buchungstag' < = myBis and 'Buchungstag' >= myVon ].'Betrag' )
      –––

      Birger – Ninox Support

  5. Hallo,
    ich habe folgendes Problem. Der Benutzer sollte in der Tabelle A einen Datensatz mit dem Klick zu einer anderen Tabelle B verknüpfen. Beim Klicken erzeugt Ninox in der Tabelle B einen neuen Datensatz, schreibt aktuellen Benutzer in das Feld Benutzer rein und macht die Verknüpfung zu dem Datensatz in der Tabelle A. So kann jeder Benutzer eine Auswahl von Datensätzen bekommen, welche zwar mit original verknüpft sind, aber erlauben noch Zusatznotizen und eigene individuelle Bewertungen zu machen. Das funktioniert auch.
    Jetzt möchte ich in der Tabelle A einen Ansicht erstellen, welcher dem Benutzer nur seine ausgewählten Datensätze zeigt. Die Formel dazu:

    let USR := user();
    if cnt(MyContent[(Benutzer = USR)]) = 0 then
    “A”
    else
    “B”
    Die spalte wird angezeigt und ich kann auch in der App nach B sortieren und meinen Ansicht bekommen. Öffne ich die Datenbank im Browser, wird die Spalte leer. habe im Browser schon alles probiert – geht nicht.

    Grüße
    Leo

  6. Hallo
    Beim Arbeiten komme ich immer wieder zu dem Punkt, dass ich den Filter einer Spalte bypassen möchte, ohne ihn aus der Definition zu löschen. Das ist in der aktuellen Version aber so nicht vorgesehen, oder?
    lg Gerald

  7. Hallo

    Habe folgende Frage: wie kann man sich in ausgesuchten Datensätzen die Summe von bestimmten Werten zeigen lassen? Es geht genau um eine Kontrolle ob Summe der Rechnungen die bei der Bezahlung angegeben worden sind, übereinstimmen mit der Summe der ausgestellten Rechnungen. Also so was wie bei der Massendatenänderung: ausgesuchte Datensätze markieren und unten sich die Summe zeigen lassen. Oder so wie bei Excel wo die Summe von markierten Feldern automatisch angezeigt wird

    Gruß Richard

Hinterlasse eine Antwort